【发布时间】:2018-02-06 20:42:29
【问题描述】:
我正在尝试解析文件中的字符串,这些字符串在文件中用双引号表示。一旦我找到一个字符串,我会将它存储在一个变量中并用它做我想做的事情(为了这个问题的目的,让我们说打印它)。我的问题是我不知道如何获取这些字符串,特别是如果它们有空格。 以下是输入示例:
100 20
"String"
"With Space"
'c' ' '
注意:此输入中仅有的字符串是 String 和 With Space。所有其他数据最终都应该被忽略。这是我的代码,它根本不打印任何东西。
int main(int argc, char *argv[]) {
for (int i = 1; i < argc; i++) {
ifstream input;
input.open(argv[i]);
char c;
while (input.get(c)) {
if (c == '"') {
string s;
while (c != '"') {
char letter;
input.get(letter);
s += letter;
}
cout << s << "\n";
}
}
}
}
注意:我已经包含了 iostream 和 fstream。我正在使用命名空间标准。
【问题讨论】:
-
很遗憾你不能使用 C++14
std::quoted...顺便说一句,永远不要使用using namespace std;。那个可憎的只是自找麻烦。