Хелпикс

Главная

Контакты

Случайная статья





int strlen(char* str);



 

Листинг 3.1. Программа вычисления длины строки.

#include
int main(void)
{
char str[] = “Привет мир!”;
int size_array = sizeof(str);
int length = 0;
while(length < size_array && str[length] != ‘\0’) length++;
printf(“Длина строки = %d.\n”,length);

return 0;
}

В представленном примере сначала выполняется инициализация строки в массиве str. Затем вычисляется размер массива с помощью функции sizeof(), которая возвращает число байт занимаемое массивом в памяти ЭВМ. Учитывая, что тип char также представляет собой один байт, то данная функция даст размер массива. После этого инициализируется счетчик символов length и выполняется цикл while с очевидными условиями. В результате переменная length будет содержать число символов в строке, либо размер массива.

  Подобная функция вычисления размера строк уже реализована в стандартной библиотеке языка С++ string.h со следующим синтаксисом:

int strlen(char* str);

где char* str – указатель на строку

Следующая программа показывает правило использования функцииstrlen().

 

Листинг 3.2. Пример использования функции strlen().

#include
#include
int main(void) {
char str[] = “Привет мир!”;
int length = strlen(str);
printf(“Длина строки = %d.\n”,length);
return 0;
}

Результатом работы программы будет вывод на экран числа 11.

 

Правила присваивания одной строковой переменной другой.

 

Для того чтобы выполнить копирование необходимо перебирать по порядку элементы одного массива и присваивать их другому массиву.

 

char str1[] = “Это первая строка”;
char str2[] = “Это вторая строка”;
int size_array = sizeof(str1);
int i=0;
while(i < size_array && str1[i] != ‘\0’) {
str2[i] = str1[i];
i++;
}
str2[i] = ‘\0’;

printf(“%s\n”,str2);

 

return 0;

 

В приведенном фрагменте программы выполняется перебор элементов массива str1 с помощью цикла while и значение i-го элемента записывается в массив str2. Данная операция выполняется до тех пор, пока либо не будет достигнут конец массива, либо не встретится символ конца строки ‘\0’. Затем, после выполнения цикла, в конец массива str2 записывается символ ‘\0’. Таким образом, выполняется копирование одной строки в другую.

 

Подобная функция также реализована в библиотеке языка С++ string.h и имеет следующее определение:



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.