c++小白。
想要利用c++处理txt文档中的数据,先进行逐个读取,再进行根据需求进行简单处理。
#include <iostream>
#include <fstream>
#include <cassert>
#include <string>
#include <cmath>
using namespace std;
void readTxt(string file)
{
ifstream infile;
infile.open(file.data()); //将文件流对象与文件连接起来
assert(infile.is_open()); //若失败,则输出错误消息,并终止程序运行
int a=0;
int i=0;
int j=0;
int n=56764; //定义原始数据存储空间
int m=28382; //定义运算结果数据存储空间
int counter=0;
string s; //读取字符串
int T_DATA[56764];
double Temp[28382];
while (!infile.eof()) //逐词读取
{
infile >> s;
counter+=1;//计数
//cout<<s<<' '; //十六进制与之后十进制对比
int count=s.length();//
int b=0,sum=0;
for(b=count-1;b>=0;b--)//从十六进制个位开始,每位都转换成十进制
{
if(s[b]>='0'&&s[b]<='9')//数字字符的转换
{
sum+=(s[b]-48)*pow(16,count-b-1); //查ASCⅡ表
}
else if(s[b]>='a'&&s[b]<='f')//字母字符的转换
{
sum+=(s[b]-87)*pow(16,count-b-1); //差10,a余留10
}
}
T_DATA[i]=sum; //逐一保存数据
//cout<<T_DATA[i]<<endl; //观察读取的数据
i+=1;
}
for(;j<counter/2-1;j++)
{
Temp[j]=(double)(T_DATA[a]*256+T_DATA[a+1])/10;//数据关系
a=a+2;
cout<<Temp[j]<<' ';
}
infile.close(); //关闭文件输入流
}
int main()
{
string fname,data_path;
cout<<"请输入txt数据文件名:"<<endl; //键输入原始数据txt文件名
cin>>fname;
data_path="D:\\Desktop\\"+fname+".txt";
readTxt(data_path);
return 0;
}
以上还可以对数据作图处理。
参考文章:
1. C++ 中 ifstream读取txt文件内容_流楚丶格念的博客-CSDN博客_ifstream读取txt文件