使用get()从包含空格的输入中读取字符

时间:2013-11-26 21:46:47

标签: c++ file-io

这是我的问题。

我指定了2个dim数组。每行包含空格和“!”。让我来表明一下。

row size:3 column size:8 

! !!!! !
!!!!!!!!
!!  !! !

我试过读它并存储到vector<矢量< char>取代。为此,我编写了以下代码。

vector<vector<char> > rows;
for(int i=0;i<3;i++){
    vector<char> row;
    for(int j=0;j<8;j++){
        tempChar=myfile.get();
        temp.push_back(tempChar);
    }
    rows.push_back(row);
} 

然而,我有些不对劲我不知道为什么。有人帮我吗?提前谢谢。

1 个答案:

答案 0 :(得分:4)

您忘记了换行终结符。当您读取前8个字符时,下一个(或两个,如果使用Windows操作系统)将是行分隔符。你需要处理它。

比阅读单个字符更有效的方法是使用std::getline