【发布时间】:2020-10-23 06:09:58
【问题描述】:
我必须从文件中读取的数字如下所示: 1,5,26,3,86,35
我设法分别读取每个数字,但我的问题是数字超过一位。例如 26 或 86。
如何将它们读为一个数字而不是 2 6 和 8 6?
这是我目前所拥有的:
int main()
{
fstream numbers;
string line;
int num;
numbers.open("test.txt");
if(!(numbers))
cout<<"error: file could not be read."<<endl;
while(getline(numbers,line))
{
for(int i = 0; i<line.length();i++)
{
if(isdigit(line[i]))
cout<<line[i]<<endl;
}
}
}
谢谢。
【问题讨论】:
-
您在互联网上搜索“c++ 读取文件逗号分隔”。已经有太多例子了。
-
简单(如果有点慢)的方法是
getline获取一行并将该行放入istringstream然后在istringstream上使用getline以逗号分隔而不是换行符。根据您的需要转换生成的令牌。我会四处寻找,看看能不能找到一个重复的。 -
这很好,但可能有点过于笼统:stackoverflow.com/questions/1120140/…
-
在 Google 中弹出 read comma separator numbers in C++ site:stackoverflow.com 将提供许多替代方案。