文字列を行ごとに分割する必要があります。以前は次の方法で行っていました。
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;
}
「私たちは一つです。\はい、私たちはそうです」と入力します。doSegment メソッドを呼び出します。しかし、デバッグすると、文のパラメーターが「we are one.\\nyes we are」であることがわかり、分割に失敗しました。なぜこれが起こったのか、どうすればよいのか誰か教えてください。C++で文字列を分割するために使用できる方法は他にありますか? ありがとう !