द्वारा विभाजित स्ट्रिंग को लाइन द्वारा स्ट्रिंग को विभाजित करने की आवश्यकता है। मैं निम्नलिखित तरीके से करते थे: "।। \ Nyes हम कर रहे हैं हम एक हैं"सी ++ लाइन
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 विधि का आह्वान करें। लेकिन जब मैं डिबगिंग करता हूं, तो मुझे वाक्य पैरामीटर मिलता है "हम एक हैं। \\ nyes हम हैं", और विभाजन विफल हो गया। क्या कोई मुझे बता सकता है कि ऐसा क्यों हुआ और मुझे क्या करना चाहिए। क्या वैसे भी मैं सी ++ में स्ट्रिंग को विभाजित करने के लिए उपयोग कर सकता हूं। धन्यवाद !
मैं वास्तविक ग उपयोग करने का सुझाव ++ - एसटीडी पर एक नज़र :: getline –
आप निवेश के बारे में कुछ परिवर्तन करने की आवश्यकता है। विभाजित समारोह नहीं। – halfelf
'स्ट्रोकोक' से सावधान रहें क्योंकि यह उस स्ट्रिंग को संशोधित करता है जिसे आप पास करते हैं। –