2014-09-26 144 views
0
string input; 
getline(cin, input); 

char sep = ' '; 
string readArray[10]; 

// Splits the inputted line into separate strings depending on delimiter (' ') 
for (size_t p = 0, q = 0, i = 0; p != input.npos && i<readArray.size(); p = q, i++){ 
    string result; 
    result = input.substr(p + (p != 0), (q = input.find(sep, p + 1)) - p - (p != 0)) << endl; 
    readArray[i] = result; 
} 

我的問題是爲什麼生成的字符串不會讀入readArray?如果你發現錯誤,請你修復它,因爲我現在一直在看這個!沒有讀入數組

+0

編譯所有警告和調試信息('g ++ -Wall -g')。 **使用調試器**('gdb') – 2014-09-26 04:47:11

+1

此代碼不讀取任何內容到'readArray'中,因爲它不運行。它不運行,因爲[它不能編譯](http://coliru.stacked-crooked.com/a/f5c09d8b7a7bf930)。 – 2014-09-26 04:50:41

回答

0

您的readArray.size()是錯誤的,因爲readArray不是容器。您可以聲明一個std::vector<std::string> readVector;並使用readVector.push_back(result)