C++ CSV 文件中读取为浮动
C++ read in a CSV file as floats
我正在尝试读取充满浮点数的.csv文件。我用它来构建我的代码。但是,数据正确读取,但作为字符串读入,但我想将数据用作浮点数。如果我尝试使用 stof(string),我会收到一个错误,它正在尝试将非数字转换为数字。所以我走了很长的路,把字符串转换成一个字符,然后转换成一个浮点数,它可以工作,但非常丑陋。但是,一旦所有数据都被读入并用cout打印出来,我的崩溃就会崩溃
trackBarFile.open("test2.csv");
std::string line, line2, line3;
int count;
std::string token;
float tokenNum,lineFloat,line2Float,line3Float;
char cstr[5],cstr2[5];
while (getline(trackBarFile, line,','))
{
cstr[line.size()+1];
strcpy(cstr, line.c_str());
lineFloat = atof(cstr);
getline(trackBarFile, line2,',');
cstr[line2.size()+1];
strcpy(cstr, line2.c_str());
line2Float = atof(cstr);
getline(trackBarFile, line3);
cstr2[line3.size()+1];
strcpy(cstr2, line3.c_str());
line3Float = atof(cstr2);
std::cout<<line<<","<<lineFloat<<" , "<<line2<<","<<line2Float<<" , "<<line3<<","<<line3Float<<std::endl;
}
trackBarFile.close();
看来我偶然发现了我自己问题的答案。由于上述问题,我开始寻找将字符串转换为浮点数的不同方法。打印输出中的+2可以忽略,是我的"捏",以确保我不是在做梦
trackBarFile.open("TrackBarSignal.csv");
std::ofstream fout;
fout.open("Output_ReadInCSV.txt");
std::string line, line2, line3;
int count;
float tokenNum,lineFloat,line2Float,line3Float;
while (getline(trackBarFile, line,',')&&getline(trackBarFile, line2,',')&&getline(trackBarFile, line3))
{
lineFloat = (float)atof(line.c_str());
line2Float = (float)atof(line2.c_str());
line3Float = (float)atof(line3.c_str());
std::cout<<line<<","<<lineFloat+2<<" , "<<line2<<","<<line2Float+2<<" , "<<line3<<","<<line3Float+2<<std::endl;
}
trackBarFile.close();
相关文章:
- 无法逐行读取.csv文件
- 使用getline读取.csv文件时出现问题
- 读取.csv文件 c++
- 使用 fstream 读取 csv,并且只阅读 fstream
- 为什么我的getline不正确读取.csv文件
- 如何在 c++ 中跳过读取 csv 文件的第一列
- C++ 读取.csv文件,将数据放入变量中,然后放入对象中
- 如何从输入中读取 CSV 行并将每个值初始化为不同类型的变量?(C++)
- 读取.csv文件并仅使用 C++ 存储到数组中<iostream>
- Linux 与 Windows,C++读取 CSV 文件的运行时性能差异
- 读取 CSV 文件(UNICODE 编码)C++时出现编码错误
- 读取 CSV 文件
- 在C 中读取CSV文件
- 目瞪口呆地寻找一种有效的 c 和 c++ 方法来删除回车符(读取.csv文件)
- 读取CSV文件并将值存储在C 中
- 在C 中读取CSV文件中的两个列
- C :读取csv-file被分开;和 n
- C 读取CSV文件包含空单元
- 在MFC中读取.CSV文件内容
- 正在从文件中读取CSV数据