我正在使用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';

    }

}


但是,由于空白,我不能认为这些整数将始终处于相同的索引。

因为如果有两个空格而不是一个年龄,现在将在索引3中。我该如何解释呢?

另外,如果我有两位数怎么办?

最佳答案

让标准流为您完成:

inputData >> numberOfSiblings >> age;

09-25 11:02