C. Тема 1. Раздел 7
.pdfТема 1. Основные сведения о языке. Раздел 7. Строки
Представление строк в Си
Операции со строками
Unicode
Часть 1
В языке Си нет специального типа данных для представления строк
Строки представлены массивами символов
В конце каждой строки размещается символ с кодом 0
Строковая константа – это последовательность символов, заключённая в кавычки
Примеры
"This is ANSI C simple string"
"Это простейшая строка в языке Си"
В конце каждой строковой константы компилятор автоматически добавляет символ
'\0'
Вставка в строку символа кавычек
"asdf\"ghjk"
char string1[] = "Some string";
char string2[] =
{'S', 'o', 'm', 'e', ' ', 's', 't', 'r', 'i', 'n', 'g', '\0'};
char *string3 = "Some string";
В чём разница этих вариантов инициализации?
|
string1++; |
// Ошибка |
компиляции |
|
string2++; |
// Ошибка |
компиляции |
|
string3++; |
// Допустимо |
string1 = string3; // Ошибка компиляции
string1 = string2; // Ошибка компиляции
string3 = string1; // Допустимо
Часть 2
Складывать
string1 + strng2
Сравнивать
string1 == string2
string1 != string2
string1 > string2
string1 >= string2
Копировать
string1 = string2
Использовать функции стандартной библиотеки string
strcat – конкатенация (сложение) двух строк
strncat – конкатенация (сложение) первой строки и n начальных символов второй строки
strcmp – сравнение двух строк
strncmp – сравнение первых n символов двух строк
strcpy – копирование одной строки в другую строку
strncpy – копирование первых n символов одной строки в другую строку
strlen – определение длины строки (не путать с sizeof)
strchr – поиск в строке первого вхождения указанного символа
strrchr – поиск в строке последнего вхождения указанного символа
strpbrk – поиск в одной строке любого из множества символов, входящих во вторую строку
strspn – определение длины отрезка одной строки, содержащего символы из множества символов, входящих во вторую строку
strcspn – определение длины отрезка одной строки, не содержащего символы второй строки
strtok – выделяет из одной строки лексемы (кусочки), разделенные любым из множества символов (разделителей), входящих во вторую строку