mtwm.net
当前位置:首页 >> C++怎么从一个文件中读数据到结构体中? >>

C++怎么从一个文件中读数据到结构体中?

首先把目标明确,结构体是表达数据的存放方式,文件也有文件自己的数据格式化存放方式,要从文件读取数据到结构体中,必须要保证这个文件的数据格式化存放方式与内存中的结构体一致,这样才按照你所说的直接读取数据到结构体里面

首席需要用到fstream头文件,然后用ifstream就可以了.我给lz写一个例子,lz看一下就明白了:strcut stocktype{string personaddress;string personcity;string personstate;int personzip;};void addresstype :: getdata(){ifstream infile;int index;string

直接给你个参考:(你的文件必须在当前的目录下,名为test.txt)#include#includeusingnamespacestd;structTEST{charname[10];intscore[3];}test[10];intmain(){ifstreamin("test.txt");intn=0;while(!in.eof()){in>>test[n].name;in>>test[n].score[0];in>>test[n].score[1];in>>test[n].score[2];n++;}in.close();for(inti=0;i

char buffer[1024]; ifstream infile("xxx.txt",ios::in); if(!infile) { cerr<<"open file failed."<<endl; exit(0); } infile.getline(buffer,1023,'\n'); 取得此一行buffer信息,利用strtok函数进行解析,然后相对应放入你构建的结构体中去.

你这数据最好是由程序代码格式化地生成,然后你才能用相同的数据格式去读.你要是用手动生成的话,以这样的方式去赋值不出错才怪.string的长度你知道?你可以定义如下的数据格式typedef struct _PROPERTY{ char szName[32]; char

取决于文件中数据的存储方式.1 如果文件中存储的方式为二进制形式数据:需要使用fread(C语言风格)或ifsteam的read成员函数(C++风格.)从文件中读取结构体数据到对应的结构体指针上.如 struct test { int a; }; struct test t; fread(&t, 1,sizeof(t

取决于txt文件的存储格式.如果txt存储的是文本,也就是人可读的, 那么根据存储形式, 用fscanf格式化读取.如果存储的是二进制数据,那么用fread逐个读取.

如果你不想保存后的文件可以用记事本打开,那么就会变得很简单,比如,struct people{ char neme[5];unsigned age;char sex[3];char descri[100]} peo 假设现在保存peo到文件:write(&peo,sizeof(people)); 那么读出的时候,先分配内存用于保存

#include<iostream>#include<fstream>using namespace std;struct student{ char id[10]; float ps; float qz; float qm;};int main(){ ifstream fin("c:\\test.txt"); char tmp[32]; fin>>tmp; cout<<tmp<<" "; fin>>tmp; cout<<tmp<<" "; fin>>tmp; cout<<tmp<

#include#define N 60#define M 1000struct TextData { int LocalLab; char FData[3][N];}*m_text;int main() { int i,n = 0; struct TextData a[M]; // 先声明一个结构数组 FILE *infp = fopen("data.txt","rt"); // 假定数据文件名为data.txt if(infp == NULL) { printf("不能打开数据文件.\n"); return 1; } while(n 评论0 0 0

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.mtwm.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com