MFC中读取TXT文件坐标数据的问题
G00 X118.800 Y94.600 Z96.000F1500G00 X110.600 Y179.100 Z96.000
G01 X110.600 Y179.100 Z101.000
G01 X110.600 Y179.100 Z101.000
G01 X112.600 Y178.900 Z101.000
G01 X112.600 Y178.900 Z96.000
G00 X115.100 Y177.400 Z96.000
G01 X115.100 Y177.400 Z101.000
G01 X115.100 Y177.400 Z101.000
G01 X115.300 Y177.100 Z101.000
G01 X115.600 Y176.600 Z101.000
G01 X115.800 Y176.300 Z101.000
G01 X116.000 Y176.000 Z101.000
txt文件中的坐标数据如以上格式,如何能够过滤掉字母,只读取数字? 本帖最后由 lvk 于 2022-12-26 15:38 编辑
使用getline读取一行,把字母用空格替换,然后把哪一行绑定到istringstream对象上,然后作为数字读取出来,以上放进循环里,直至读取完毕后退出循环 lvk 发表于 2022-12-26 14:47
使用getline读取一行,把字母用空格替换,然后把哪一行绑定到istringstream对象上,然后作为数字读取出来, ...
可以放具体代码吗 本帖最后由 lvk 于 2022-12-28 15:54 编辑
dongmei 发表于 2022-12-28 14:49
可以放具体代码吗
ifstream infile("xxx"); // xxx为你的文件路径
string line;
while (getline(infile, line))
{
replace_if(line.begin(), line.end(), [](char c){ return isalpha(c); }, ' ');
istringstream in(line);
double num = 0;
while (in >> num)
{
/*此处读取到的num已是double型数据,这里我只是把他们打印出来,你可以在这里对其进行其他操作*/
cout << num << " ";
}
}
页:
[1]