Добавление символов в переменную строкового типа - C (СИ)
Формулировка задачи:
нашел вот такой пример:но компилятор BCC выдает null, NULL pointer assigment
void strcat_char(char *str, char ch)
{
while (str) str++;//доходим до конца строки
*str = ch;//пишем в конец строки
}Решение задачи: «Добавление символов в переменную строкового типа»
textual
Листинг программы
#include <iostream>
#include <cstring>
int main()
{
char ch[5] = {'a','a','a',0,0}; // здесь строка оканчивается нуль-символом...
//... и один символ мы оставили для соединенной строки ch1(в этой строке 1 символ,...
//... поэтому мы оставили 1 символ (у нас еще один нуль)
char ch1[2] = {'b',0}; // строка,которую хотим присоединять
strcat(ch,ch1); // присоединение
std::cout << ch << std::endl; // вывод
return 0;
}
Объяснение кода листинга программы
- Подключение необходимых библиотек для работы со строками и вводом-выводом
- Объявление переменной типа char с именем ch и размером 5, инициализация ее тремя символами 'a' и двумя нулевыми символами 0
- Объявление переменной типа char с именем ch1 и размером 2, инициализация ее двумя символами 'b' и одним нулевым символом 0
- Использование функции strcat для присоединения строки ch1 к ch. Эта функция добавляет копию строки ch1 в конец строки ch. При этом в строке ch добавляется символ 0, который является маркером конца строки в C
- Вывод результата на экран с помощью std::cout
- Возврат значения 0, что означает успешный конец работы программы