const char* two = str;
strcat(one, "первое сообщение");
printf("%s\n", one);
strcat(two, "второе сообщение");
printf("%s\n", two);
сначало выводит "блаблапервое сообщение"
потом выводит "блаблапервое сообщениевторое сообщение".
знаю что говнокодинг в том что я два раза переопределяю переменную, но это я так эксперементировал)
в общем вопрос как мне правельно вывести в первую строку "блаблапервое сообщение"
а во вторую" блаблавторое сообщение"?
Мне кажется это из-за ссылок
думай тут всё просто, могу дать подсказку, присваение строк на си делается через функции навроде strcpy и memcpy (memmove)
Может snprintf?
так делать... не надо. 1. strcat добавляет текст в конец существующего. (не уверен. Перепроверь) 2. Под текст выделено strlen("блабла")+1 3. strcat-ы немноого выползают за пределы выделенной памяти, что может привести к неожиданным спецэффектам
Обсуждают сегодня