如何逐行读取txt文件

#include <iostream>
#include <fstream> 
#include <algorithm>
  1. //在多字节模式下
    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;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值