08. C/C++ Строки в стиле C/C++, таблица ASCII. 

C/C++ Строки, таблица ASCII.

Для взаимодействия с пользователями и вывода отладочной информации удобно использовать строки, например “Hello World” и т.д.
Рассмотрим, что из себя представляет строка, что такое строка в стиле C, ее замену в C++.

Для начала стоит сказать, что компьютер не понимает букв, ему известен только двоичный код, поэтому каждой букве/цифре/символу поставили в соответствие двоичный код, он называется таблицей ASCII символов, в ней первые 0-127 символов используются для английской раскладки клавиатуры, остальные под локальную.

Напишем простой код и посмотрим в консоли результат

int j=0;
for(unsigned char i=0;i<255;i++)
{
   cout<<"Symbol "<<j<<"= \t"<<i<<endl;
   j++;
}

Хорошо, что такое символ стало понятно, но как выводить строку?
Для этого используется массив символов.

Строки в стиле C

Существует так называемая «строка в стиле C» — конце такого массива принято ставить «завершающий / терминирующий ноль»
Например:
char Text[6] = {‘H’,’e’,’l’,’l’,’o’, ‘\0’};
Впрочем так писать долго, поэтому при использовании записи
char Text[6] = “Hello”; завершающий ноль будет подставлен автоматически.

Строки в языке C++

В языке C++ помимо «строк в стиле C» используется библиотека string
#include <string>
благодаря которой можно создать объект класса string (считаем что переменную)

string S =  «HELLO»;

В чем плюс класса/переменной типа string – можно не задумываться о том, что физически это массив и выполнять операции как с обычной переменной, например если в C строке мы захотим объединить 2 строки (это называется конкантенация строк)

char Text1[] = “Hello ”;
char Text2[] = “World”;
char Text3[7+6-1];
Нам нужно:
1-создать массив размером Text1+Text2 -1 //-1 т.к. 2 терминирующих нуля
2 -досчитать до конечного нуля в массиве Text1
3 -начать копирование массива Text2 (с терминирующим нулем)

В C++ с использованием класса string достаточно просто создать переменную и сложить 2 строки типа string.
string Text1= “Hello ”
string Text2= “World”
string Text3= Text1+ Text2;

Для работы со строками есть некоторые удобные функции:
Чтобы использовать эти функции, необходимо подключать заголовочный файл string.h.
strlen() — вычисления длины строки (считает байты до \0, не включая его)
strcat() – объединения/конкантенация двух строк (описано выше)
strchr() — поиска символа в строке
strstr() — поиска подстроки в строке:

1 комментарий

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *