C++如何通过输入输出流重载方法读取文件中的数据,并且将数据保存到类的变量中?

比如有个dat.txt文件内容是:122515662516656如何将这些数据保存到类的private成员中... 比如有个dat.txt文件内容是:
12 25
15 6
62 51
66 56
如何将这些数据保存到类的private成员中
展开
 我来答
chujiangke001
2013-05-25 · TA获得超过1605个赞
知道小有建树答主
回答量:1352
采纳率:0%
帮助的人:696万
展开全部

#include<iostream>

#include<string>

#include<fstream>

using namespace std;

class haha{

private:

int a[8];

int size;

public:

void input(string filename)

{

ifstream infile(filename.c_str());

int i=0;

int temp=0;

while(infile>>temp)

{

a[i]=temp;

i++;

}

size=i;

}

void show(){

for(int i=0;i<size;i++)

cout<<a[i]<<" ";

}

};

int main()

{

 haha xiaojiba;

 cout<<"Input filename:"<<endl;

 string name;

 cin>>name;

 xiaojiba.input(name);

 xiaojiba.show();

 return 0;

}

追问
谢谢你
是重载>
不是文件输入输出流
追答

#include<iostream>

#include<string>

#include<fstream>

using namespace std;

class haha{

private:

int a[8];

int size;

public:

void input(string filename)

{

ifstream infile(filename.c_str());

int i=0;

int temp=0;

while(infile>>temp)

{

a[i]=temp;

i++;

}

size=i;

}

void show(){

for(int i=0;i<size;i++)

cout<<a[i]<<" ";

}

friend void operator >>(string name,haha &a)

{

a.input(name);

}




};

int main()

{

 haha xiaojiba;

 cout<<"Input filename:"<<endl;

 string name;

 cin>>name;

name>>xiaojiba;

 //xiaojiba.input(name);

 xiaojiba.show();

 return 0;

}

秀乞群群
2015-08-04 · TA获得超过19万个赞
知道顶级答主
回答量:6.7万
采纳率:91%
帮助的人:2.4亿
展开全部
#include<stdio.h>
#include<malloc.h>
#include<stdlib.h>
#include<string.h>
/*文件内容格式:
1 1 asd asd 1
2 2 asaad aasd 2
3 3 asaad asad 3
.....
*/

int main()
{
int a,b,c;
char SongName[50];
char Name[50];
memset(SongName,0,50);
memset(Name,0,50);

FILE * fp = fopen("test.dat","r");
if(!fp)
{
printf("file open error\n");
exit(-1);
}
while(fscanf(fp,"%d%d%s%s%d",&a,&b,SongName,Name,&c) != EOF)
{
printf("%d\t%d\t%s\t%s\t%d\n",a,b,SongName,Name,c);
memset(SongName,0,50);
memset(Name,0,50);
}
return 0;

}

自己看看吧! 改改就好 C++ 里也能可以用while(fscanf(fp,"%d%d%s%s%d",&a,&b,SongName,Name,&c) != EOF) 只是后面赋值的时候改为你对象下面对应的属性值!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
haiyaojing
2013-05-25 · 超过37用户采纳过TA的回答
知道答主
回答量:160
采纳率:0%
帮助的人:108万
展开全部
基本的读写文件问题+类的基本操作。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-05-25
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式