我使用函數getline抓住從看起來像這樣忽略空格字符
1 9
5 5
6 7
...
其中第一個數字兄弟姐妹的人的數量已經和第二個數字是別人的年齡輸入數據文件中的行。
const int MAXLINE=50;
int main(int argc, char *argv[]) {
int numberOfSiblings;
int age;
char oneline[MAXLINE];
ifstream inputData;
inputData.open(argv[1]);
while (!(inputData.eof())) {
inputData.getline(oneline, MAXLINE);
numberOfSiblings = oneline[0] - '0';
age = oneline[2]-'0';
}
}
Howerver,我不能假設這些整數將始終是相同的指數,由於白色空間。
因爲如果有兩個空格而不是一個年齡現在將在索引3中。我該如何解釋?
此外,如果我有一個雙位數字會發生什麼?
可能重複[如何在C++中拆分字符串?](http://stackoverflow.com/questions/236129/how-to-split-a-string-in-c) – talnicolas 2012-03-09 01:17:43
請閱讀[爲什麼' iostream :: eof'內循環條件認爲是錯誤的?](http://stackoverflow.com/questions/5605125/why-is-iostreameof-inside-a-loop-condition-considered-wrong) – Xeo 2012-03-09 01:21:11