0

C++ で splitLine() という関数を作成します。誰か助けてくれませんか?私は本当に混乱しています

splitLine () {

    string temp = aLine;
    string *tempLine =  strtok(temp, " ");
    free(temp)
    countNum = sizeOf(tempLine);

   }
4

1 に答える 1

1

指示を誤解しています。

このstrtok関数は、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;

一時的な文字列を で単語に分割することは、 loopstrtokを書くことを意味します。一度に 1 つの単語を抽出します。この例は、インターネット上で見つけることができると確信しています。だから私はそれをあなたに任せます。strtok

于 2013-10-02T05:59:20.203 に答える