我正在编写一个程序来制作问题表格。这些问题被保存到一个文件中,我想读取它们并将它们存储在内存中(我为此使用向量)。
我的问题有以下形式:
1 TEXT What is your name?
2 CHOICE Are you ready for these questions?
Yes
No
我的问题是,当我从文件中读取这些问题时,我使用 getline 读取一行,然后将其转换为字符串流,读取问题的数量和类型,然后再次在字符串流上使用 getline ,阅读问题的其余部分。
但这的作用是,它还会读取问题前面的空格,当我再次将问题保存到文件并再次运行程序时,问题前面有 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 可以忽略空格吗?
Look at this http://www.cplusplus.com/reference/istream/ws/并使用:
ss >> std::ws;
getline(ss, question);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)