2013-05-17 3 views
0

У меня есть символ, как этотC++ Чтение всех после определенной строки в полукоксе

char buff[1024] 

Тогда у меня есть много вещей в этом нагишом. Но я хочу, чтобы все после того, как эти \ г \ п \ г \ п

Таким образом, если символ выглядит следующим образом

"asdfEianfd\r\n\r\ndsakfmagnrgsginagres" 

Я хотел бы, чтобы получать выходной сигнал

dsakfmagnrgsginagres 

ответ

1

Ну, это ISN «т действительно C++ путь, так как у вас уже есть в char массиве, но давайте сделаем это C-стиль в любом случае:

const char* phrase = "\r\n\r\n"; 
char *remain = strstr(buff, phrase); 
if(remain != NULL) remain += strlen(phrase); 

Теперь, при условии, что шаблон новой строки найден, remain теперь укажет на начало текста, который вы ищете. Если шаблон не найден, remain будет NULL.

Это будет только появление рисунка ("\r\n\r\n") и вернуть все, что следует. Если вы действительно хотите вытащить линии, вам придется выполнять поиск в прямом направлении и токенизировать вручную или посмотреть на что-то вроде strtok (что немного упрощено).

+0

@NikBougalis Этот код находит местоположение в 'buff' текста' '\ r \ n \ r \ n" ', затем дает указатель на последующий символ, а значит и остальную часть строки. В этом случае 'strlen (phrase)' равно 4. Я не показывал 'buff', который, очевидно, содержит более длинную строку. – paddy

+0

Ничего - глупый комментарий удален. Я прочитал это как '+ = strlen (buff)' по какой-то причине. –

+0

http://ideone.com/IkVBv9 – paddy

Смежные вопросы