Nurmuxammad Nurmametov
Nurmuxammad Nurmametov

Проблема с строками в C++

Всего три строки: str1, str2, str3
В str1 и str2 в начале стоит символ \x00 и поэтому функция strcat() считает этот символ концом строки и не добавляет её куда надо.. .
Посоветуйте как решить эту проблему...

это не пустые строки, просто первый символ \x00...
пробел не подходит, уже проверял.. .
Пробовал только один знак добавлять, но Visual Studio ругается на массив со строками...

#include
#include
#include
#include
using namespace std;

void main()
{
char l_name[100],l_adress[100];
char f_name[100],fl_adress[100];
char f_text[350];
setlocale(LC_CTYPE,"russian");
cout<<"Введите название новой ссылки \x10";
cin.getline(l_name,sizeof(l_name)-1);
strcpy(fl_adress,"http://");
cout<<"Введите интернет-адрес \x10 http://";
cin.getline(l_adress,sizeof(l_adress)-1);
strcat(fl_adress,l_adress);
strcpy(f_name,l_name);
strcat(f_name,".bmk");
strcpy(f_text,"\x03\x01\x6A\x00\x45\xC6\x7F\x01\x87\x15\x11\x03");
strcat(f_text,l_name);
strcat(f_text," \x01\x87\x17\x11\x03");
strcat(f_text,fl_adress);
strcat(f_text," \x01\x01\x01");
cout<

\x01\x87\x17\x11\x03
\x01\x01\x01
в начале этих двух строк был \x00
убрать пришлось (вместо него пробел стоит, но он не подходит)...

ЖВ
Женя Васильева

>Всего три строки: str1, str2, str3
А как они объявлены - это мы телепатически увидим, очевидно же.
>В str1 и str2 в начале стоит символ \x00
Хорошо, str1 и str2 пустые
>и поэтому функция strcat() считает этот символ концом строки
А чем она должна его считать - началом? А как тогда задается конец строк str1 и str2?
>и не добавляет её куда надо.. .
а куда надо? И кого её, если строк две? Их? Или речь только об одной?
>Посоветуйте как решить эту проблему.. .
Во-первых, перестать курить всякую гадость. Во-вторых, нормально и обстоятельно описать проблему, хотя бы самому себе. Правильно заданный вопрос - это 80% ответа. Если не поможет - тогда спросить тут, но с приведенным кодом и пояснением, что именно нужно получить, а что получается вместо этого.

Александр
Александр

Продвиньтесь в этих строках на символ или замените первый символ на пробел. Или это реально пустые строки.

ВБ
Вячеслав Багаев

А откуда там \x00???

ЕР
Елизавета Рощевская

если тебе так горит перекинуть определённое количество char, не взирая на нультерминатора, то и копируй ручками в цикле. библиотечная функция с головой дружит, и всё что за нулём - не копирует. потому как других признаков о размере строки у неё.

ЮЛ
Юлия Литвиненко

Используй строки C++, а не C, то есть string.

Похожие вопросы
C++ преобразовать из строки в число
C# работа со строками
помогите с C# работа со строками??
помогите с выводом строки C++
Задание по строкам C++. Есть предположения?
C# разделить строку на слова
C++. Переворот строк в матрице.
C++. Что значит эта строка?
Работа со строкой в c++
c# надо объяснить строки