Си массив символов и символ с кодом 0

Компьютеры программирование C++

Проблема
unsigned char* s
s[]="foo bar";
unsigned char c3=0;
s[i]=c3;
//Результат s=""
Почему строка обнуляется, когда заменяешь любой символ на символ с кодом 0? Как этого избежать?
Ответы:
На самом деле s как и прежде, массив содержащий 0. Но вот функции работы со строками используют "строку с завершающим нулём". То есть символ 0 рассматривается как конец строки.
Резидент ответил верно до последнего параграфа.
C/C++ крайне распостранен и используется почти везде. Ну и - далеко не только для системного софта.
>s[i]=c3;
А чему равно i в данный момент? Полагаю что 0;


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.