добавить <CR><LF> в конец строки
От: Аноним  
Дата: 16.01.09 10:38
Оценка:
Есть такой кусочек кода:

char* msg = "Hello, world.";


Как в конец строки можно добавить <CR><LF>, то есть возврат каретки и перевод строки ? я пробовал \r\n но так не проходит. Компилятор воспринимает их просто как часть строки(вроде бы). Пробовал также добавить коды 0x0D 0xOA — тоже не помогло.
Re: добавить <CR><LF> в конец строки
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 16.01.09 10:47
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>я пробовал \r\n но так не проходит. Компилятор воспринимает их просто как часть строки(вроде бы). Пробовал также добавить коды 0x0D 0xOA — тоже не помогло.


чего хочется получить-то? Как должно выглядеть "помогло"?
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re: добавить <CR><LF> в конец строки
От: Аноним  
Дата: 16.01.09 10:47
Оценка:
А>
А>char* msg = "Hello, world.";
А>


А>Как в конец строки можно добавить <CR><LF>, то есть возврат каретки и перевод строки ? я пробовал \r\n но так не проходит. Компилятор воспринимает их просто как часть строки(вроде бы).

А это и есть часть строки. Что значит компилятор не воспринимает?
Re: добавить <CR><LF> в конец строки
От: Аноним  
Дата: 16.01.09 11:18
Оценка: -1
Здравствуйте, Аноним, Вы писали:
А>Есть такой кусочек кода:
А>
А>char* msg = "Hello, world.";
А>

А>Как в конец строки можно добавить <CR><LF>, то есть возврат каретки и перевод строки ?
А>я пробовал \r\n но так не проходит. Компилятор воспринимает их просто как часть строки(вроде бы).
А>Пробовал также добавить коды 0x0D 0xOA — тоже не помогло.
Попробуйте так:
int size=strlen(msg);
msg=realloc[msg,size+3];
strcat(msg,"\r\n");
Re[2]: добавить <CR><LF> в конец строки
От: Аноним  
Дата: 16.01.09 12:26
Оценка:
Здравствуйте, Odi$$ey, Вы писали:

OE>чего хочется получить-то? Как должно выглядеть "помогло"?


Хочется работать с протоколом. Есть C++ библиотека, в нем команда что-то вроде:

Bool SendMessage(char* msg);


В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".

Пока ничего не получается
Re[2]: добавить <CR><LF> в конец строки
От: Smal Россия  
Дата: 16.01.09 15:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:

А>>Есть такой кусочек кода:
А>>
А>>char* msg = "Hello, world.";
А>>

А>>Как в конец строки можно добавить <CR><LF>, то есть возврат каретки и перевод строки ?
А>>я пробовал \r\n но так не проходит. Компилятор воспринимает их просто как часть строки(вроде бы).
А>>Пробовал также добавить коды 0x0D 0xOA — тоже не помогло.
А>Попробуйте так:
А>int size=strlen(msg);
А>msg=realloc[msg,size+3];
А>strcat(msg,"\r\n");

Даже если это заставить компилироваться, то это же всё уронит...
С уважением, Александр
Re[3]: добавить <CR><LF> в конец строки
От: LaptevVV Россия  
Дата: 16.01.09 15:16
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хочется работать с протоколом. Есть C++ библиотека, в нем команда что-то вроде:

А>
А>Bool SendMessage(char* msg);
А>

А>В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".
А>Пока ничего не получается
Объяви вместо указателя символьный массив и заполняй его элементы нужными тебе символами.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: добавить <CR><LF> в конец строки
От: Mr.Cat  
Дата: 16.01.09 16:37
Оценка: +1
Здравствуйте, Аноним, Вы писали:
А>В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".

\r\n — это и есть Carriage return, line feed. Ошибка может быть в другом.
Re[4]: добавить <CR><LF> в конец строки
От: Vamp Россия  
Дата: 16.01.09 18:15
Оценка:
LVV>Объяви вместо указателя символьный массив и заполняй его элементы нужными тебе символами.
И в чем же принципиальная разница?
Да здравствует мыло душистое и веревка пушистая.
Re[3]: добавить <CR><LF> в конец строки
От: Vamp Россия  
Дата: 16.01.09 18:16
Оценка:
А>Пока ничего не получается
Твоя строка кончается CR LF, все правильно. Ищи ошибку в другом месте.
Да здравствует мыло душистое и веревка пушистая.
Re[5]: добавить <CR><LF> в конец строки
От: LaptevVV Россия  
Дата: 17.01.09 13:03
Оценка:
Здравствуйте, Vamp, Вы писали:

LVV>>Объяви вместо указателя символьный массив и заполняй его элементы нужными тебе символами.

V>И в чем же принципиальная разница?
А в том, что в исходном коде
char *msg = "Hello, world!";

строка "Hello, world!" является константой и места для дополнительных символов не предусмотрено.
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re[3]: добавить <CR><LF> в конец строки
От: Аноним  
Дата: 17.01.09 14:09
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Odi$$ey, Вы писали:


OE>>чего хочется получить-то? Как должно выглядеть "помогло"?


А>Хочется работать с протоколом.

Лучше бы девушку, чесс. слово

А>Есть C++ библиотека, в нем команда что-то вроде:


А>
А>Bool SendMessage(char* msg);
А>


Бибилитеку выкинуть, автора уволить. Должно быть:
SendMessage(const char* msg);
SendMessage(const string_type&); // или так

У вас в первом посте "похожая" ошибка:
const char* msg = "Hello, world.";


А>В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".


А>Пока ничего не получается

Про CRLF уже сказали... Хотя может там дословно ? :
const char* msg = "$Hello, worldCRLF";
Re[3]: добавить <CR><LF> в конец строки
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 17.01.09 15:36
Оценка:
Здравствуйте, <Аноним>, Вы писали:

OE>>чего хочется получить-то? Как должно выглядеть "помогло"?

А>Хочется работать с протоколом. Есть C++ библиотека, в нем команда что-то вроде:

А>
А>Bool SendMessage(char* msg);
А>


А>В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".


char* msg = "$Hello, world.\r\n";
... << RSDN@Home 1.2.0 alpha 4 rev. 1111>>
Re[3]: ВСЕ, ПРОБЛЕМА РЕШИЛАСЬ
От: Аноним  
Дата: 19.01.09 12:47
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Хочется работать с протоколом. Есть C++ библиотека, в нем команда что-то вроде:


А>
А>Bool SendMessage(char* msg);
А>


А>В описалове параметров сказано, что " ... message must start with $ and end with CRLF ( Carriage return, line feed )".


А>Пока ничего не получается


Все, разобрался я с этой штукой.

мне в исходном коде надо было объявлять не:

char* msg = "111\r\n";


а вот так:

char msg[] = "111\r\n";
Re[6]: добавить <CR><LF> в конец строки
От: Vamp Россия  
Дата: 20.01.09 14:24
Оценка:
LVV>строка "Hello, world!" является константой и места для дополнительных символов не предусмотрено.
Строка "Hello, world!" является строковым литералом, если уж на то пошло. Нет, правда, хотелось бы понять, в чем принципиальная разница между

const char* "Hello, world!\r\n"

и

const char[] "Hello, world!\r\n"
Да здравствует мыло душистое и веревка пушистая.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.