【发布时间】:2017-05-09 09:20:56
【问题描述】:
文本文件内容
a,b,c,d,
efgh
ijk1
我希望存储在数组中,myArray[];预期输出将根据逗号分隔:
myArray[0] = a;
myArray[1] = b;
myArray[2] = c;
myArray[3] = d;
myArray[4] = efgh;
myArray[5] = ijkl;
我做了什么
string myArray[100];
int array_count = 0;
ifstream file((path+dicfile).c_str());
std::string str;
while (std::getline(file, str,','))
{
myArray[array_count] = str; // store those value in array
cout << str << "\n";
strings.push_back(str);
array_count++;
}
我已经完成的输出
myArray[0] = a;
myArray[1] = b;
myArray[2] = c;
myArray[3] = d;
myArray[4] = efghijkl;
【问题讨论】:
-
getline与这些 args 得到你的行,直到下一个逗号或 eof -
如果输入数据正确,则说明最后两个字符串之间缺少逗号。
-
@GeorgeNewton 是的,风格是这样的,最后两个字符串会合并在一起,因为它之间没有逗号,但文本文件内容最初没有逗号...
-
在这种情况下我没有看到问题 - 你的输出是正确的吗?
-
所以你的要求不正确:它应该在 EOL 和逗号上分开。其他空格呢?