#include <iostream>
#include <fstream>
#include <algorithm>
- //在多字节模式下
ifstream infile("distAndpow.txt");
//ifstream infile("pid_li.txt");
vector<DATA> result;
string line;
getline(infile,line);//读取第一行
while(getline(infile,line))
{
istringstream record(line);
DATA temp_data;
string data_read;
record >> data_read;//(逐个string的)读取line内容,将读到的string保存到data_read中
temp_data.data1=stof(data_read);
record >> data_read;//(逐个string的)读取line内容,将读到的string保存到data_read中
temp_data.data2=stof(data_read);
record >> data_read;//(逐个string的)读取line内容,将读到的string保存到data_read中
temp_data.data3=stof(data_read);
result.push_back(temp_data);
//MessageBox(_T("请先选择COM口"));
}
2.在Unicode模式下读取txt文件,中文解析出错的解决办法
1.首先将txt文件的编码模式改为ANSI
2.参考如下代码
CFile file(_T("companyName.txt"), CFile::modeRead);//读ANSI编码的文件
int filelen = file.GetLength();
char *p = new char[filelen + 1];
file.Read(p, filelen);
p[filelen] = '\0';
USES_CONVERSION;//转化为wchar_t* 可以使用CString的Format函数。
wchar_t* wp = new wchar_t[filelen + 1];
wp = A2T(p);
CString str;
str.Format(_T("%s"), wp);
file.Close();
m_strCompany = str;