我正在制作一个用于生成问题表单的程序。这些问题将被保存到文件中,我希望能够读取它们并将其存储在内存中(我使用向量来实现这一点)。 我的问题形式如下:
1 TEXT What is your name?
2 CHOICE Are you ready for these questions?
Yes
No
我的问题是,当我从文件中读取这些问题时,我使用getline读取一行,然后将其转换为stringstream,读取问题的数字和类型,然后再次使用getline,在stringstream上读取剩余的问题。 但是这样做的问题是,它也会读取问题前面的空格,当我把问题保存到文件中再次运行程序时,问题前面就会有2个空格,之后还有3个空格,以此类推...
以下是我的代码片段:
getline(file, line);
std::stringstream ss(line);
int nmbr;
std::string type;
ss >> nmbr >> type;
if (type == "TEXT") {
std::string question;
getline(ss, question);
Question q(type, question);
memory.add(q);
有没有解决这个问题的想法?getline函数能够忽略空格吗?