Potrzebuję podzielić ciąg według linii. kiedyś zrobić w następujący sposób: ". Jesteśmy jednym \ nyes jesteśmy"C++ split string po linii
int doSegment(char *sentence, int segNum)
{
assert(pSegmenter != NULL);
Logger &log = Logger::getLogger();
char delims[] = "\n";
char *line = NULL;
if (sentence != NULL)
{
line = strtok(sentence, delims);
while(line != NULL)
{
cout << line << endl;
line = strtok(NULL, delims);
}
}
else
{
log.error("....");
}
return 0;
}
I wejście i wywołaj metodę doSegment. Ale po debugowaniu znalazłem parametr zdanie: "jesteśmy jednym. \\ ny my jesteśmy", a podział się nie powiódł. Czy ktoś może mi powiedzieć, dlaczego tak się stało i co powinienem zrobić. Czy jest jeszcze możliwe, aby podzielić ciąg w C++. dzięki !
Proponuję za pomocą prawdziwego C++ - spojrzeć na std :: getline –
trzeba dokonać pewnych zmian o wejściu. Nie funkcja podziału. – halfelf
Uważaj na 'strtok', ponieważ modyfikuje ciąg, który ci przekazujesz. –