C-style строки. Часть 1
Часть раздела Основы путешествия по C++ на Coddy — урок 67 из 74.
Строки в стиле C создаются с использованием типа char вместо string. Они заканчиваются специальным символом, называемым нулевым символом ('\0').
Этот символ отмечает конец строки. Строки в стиле C часто называют «null-терминированными строками».
Например, простое объявление:
char str1[] = "Hello";str1 объявляется без указания конкретного размера. Компилятор автоматически определяет размер на основе инициализатора (включая нулевой символ).
Пример явной инициализации символами:
char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};str2 объявлена с размером 6 и явно инициализирована символами, включая нулевой символ в конце.
Пример частичной инициализации:
char str3[10] = "Coddy";str3 объявлен с размером 10, но инициализированы только первые 6 символов. Остальная часть массива заполнена нулевыми символами.
Для использования строк в стиле C нам необходимо подключить этот заголовочный файл:
#include <cstring>После подключения мы можем использовать функцию strlen, чтобы получить длину строки в стиле C:
std::cout << strlen(str1); // Вывод: 5Задание
ЛегкоСоздайте функцию с именем printStringInfo, которая принимает C-строку в качестве входных данных и выполняет следующее:
String:за которым следует исходная строка.Length:за которым следует результатstrlen(str).Character at index 4:за которым следует символ в этой позиции.Modified string:за которым следует строка после изменения первого символа наX.
Шпаргалка
Строки в стиле C создаются с использованием типа char и заканчиваются нулевым символом '\0'. Это строки с завершающим нулем.
Объявление без указания конкретного размера (размер определяет компилятор):
char str1[] = "Hello";Явная инициализация символами:
char str2[6] = {'W', 'o', 'r', 'l', 'd', '\0'};Частичная инициализация (оставшаяся часть заполняется нулевыми символами):
char str3[10] = "Coddy";Чтобы использовать функции для работы со строками в стиле C, подключите:
#include <cstring>Получение длины строки с помощью strlen():
std::cout << strlen(str1); // Вывод: 5Попробуйте сами
#include <iostream>
#include <cstring>
void printStringInfo(char str[]) {
// Вывести строку
// Вывести длину строки
// Вывести символ по индексу 4
// Изменить первый символ на 'X'
// Вывести измененную строку
}
int main() {
char message[] = "Hello, World!";
printStringInfo(message);
return 0;
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы. Часть 1
Арифметические операторыОператор остатка от деленияИнкремент и декрементПостфиксный инкремент и декрементСокращенные арифметические операцииОператоры сравненияСравнение строк7Основы ввода-вывода
Оператор coutОператор cinВвод строкПовторение — До 120Повторение — Истина или ложь3Переменные. Часть 2
Объявление типовСоглашения об именованииПовторение: инициализация переменныхПриведение типов. Часть 1Приведение типов. Часть 26Принятие решений
Оператор ifКонструкция if - elseОператор switchУсловный операторПовторение: if - elseВложенный if - else9Циклы
Цикл For, часть 1Цикл WhileЦикл Do WhileBreakContinueЦикл For, часть 2Вложенные циклыБесконечные циклыИтоги — Динамический ввод12Строки
C-style строки. Часть 1C-style строки. Часть 2Операции со строкамиСтроковые функции. Часть 1Строковые функции. Часть 2