我要在C++中編寫一個名爲splitLine()的函數。 有人可以幫忙嗎?我真的很困惑C++ strtok函數分詞
splitLine() {
string temp = aLine;
string *tempLine = strtok(temp, " ");
free(temp)
countNum = sizeOf(tempLine);
}
我要在C++中編寫一個名爲splitLine()的函數。 有人可以幫忙嗎?我真的很困惑C++ strtok函數分詞
splitLine() {
string temp = aLine;
string *tempLine = strtok(temp, " ");
free(temp)
countNum = sizeOf(tempLine);
}
你誤會了說明。
strtok
函數對nul終止字符數組(又名C字符串)而不是C++字符串進行操作。因此,創建一個臨時的「串」,其實就是這個
// create temporary string which is a copy of aLine
char* temp = new char[aLine.size() + 1];
strcpy(temp, aLine.c_str());
// extract words from temp
...
// free temporary string
delete[] temp;
打破臨時串入的話與strtok
方式編寫循環。 strtok
將一次提取一個單詞。我相信你可以在互聯網上找到這方面的例子。所以我會把它留給你。
它應該接受'string'作爲參數。 – nhgrif
在另一個文件中它已經聲明瞭一個字符串aLine。這可以用指針操縱 – NewFile