logo search
Posobie_Cpp

3.2.3. Строки

В языке С изначально не определен строковый тип данных. Вместо этого можно использовать так называемую С-строку – специально организованный массив символов.

Инициализация строки может происходить так:

char s[100] = "пример строки";

или так:

char str[] = "объявление строки";

Неиспользуемым элементам массива s присваиваются специальные “нулевые” символы - \0. Так что в отличие от обычных массивов, конец строки можно найти по нулевому элементу. Так, последний символ строки s из предыдущего примера не ‘и’, а именно «нулевой символ» (не ноль, не пробел!)

Следующий листинг определяет длину строки по положению «нулевого» символа:

#include <iostream.h>

void main()

{

char st[]="0123456789";

cout<<st<<endl;//строку можно выводить целиком

int i=0;

while(st[i]!='\0')

i++;

cout<<i<<'\t'<<st[i];

}

На экран будет выведена строка 0123456789, затем число 10 (т.о. число элементов в символьном массиве 11), а последний, одиннадцатый символ на экране не отобразиться. Еще раз: строки всегда включают конечный нулевой символ, так что писать его при присвоении строки не требуется!

Для ввода-вывода строки используются потоковые объекты cin и cout, при этом посимвольный ввод-вывод, как для «обычных» массивов необязателен:

#include <iostream.h>