| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 852 人关注过本帖
标题:[讨论]文件读取
取消只看楼主 加入收藏
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
 问题点数:0 回复次数:8 
[讨论]文件读取

#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
class student {
private:
char* a;
char* b;
char* c;
public:
student();
~student();
void display()const;
void set() const;
};

student::student()
{
a=new char[10];
b=new char[10];
c=new char[10];
cout<<"construct"<<endl;
}

student::~student()
{

delete a;
delete b;
delete c;
cout<<"destroyed"<<endl;
}

void student::display() const{
cout<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;

}
void student::set() const
{
cout<<"cin a"<<endl;
cin>>a;
cout<<"cin b"<<endl;
cin>>b;
cout<<"cin c"<<endl;
cin>>c;
}


void main (){
student a[3];
ofstream abc("a.txt",ios::out|ios::ate);
for (int i=0;i<3;i++)
{
abc.write(reinterpret_cast<char*>(&a[i]),sizeof(student));
a[i].set();
}

abc.close();
}

#include <iostream>
#include <fstream>
#include <iomanip>
using namespace std;
class student {
private:
char* a;
char* b;
char* c;
public:
student();
~student();
void display()const;
void set() const;
};

student::student()
{
a=new char[10];
b=new char[10];
c=new char[10];
cout<<"construct"<<endl;
}

student::~student()
{

delete a;
delete b;
delete c;
cout<<"destroyed"<<endl;
}

void student::display() const{
cout<<setw(10)<<a<<setw(10)<<b<<setw(10)<<c<<endl;

}
void student::set() const
{
cout<<"cin a"<<endl;
cin>>a;
cout<<"cin b"<<endl;
cin>>b;
cout<<"cin c"<<endl;
cin>>c;
}


void main (){
student a[3];

ifstream bcd("d:\\a.doc",ios::in);
bcd.seekg(ios::beg);
for(int j=0;j<3;j++)
{
bcd.read(reinterpret_cast<char*>(&a[j]),sizeof(student));
a[j].display();
}

bcd.close();
}


当第一个程序建立文件之后,用第二个程序读出文件后都是乱码,是我VC什么东西没有调还是程序又问题?

搜索更多相关主题的帖子: 文件 
2006-11-18 08:59
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 


樹欲靜而風不止... http://blog./seablue_xj
2006-11-19 13:13
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 
那没有问题的,
我也是帮别人去改,而且之前也发现过这种问题的

樹欲靜而風不止... http://blog./seablue_xj
2006-11-19 22:19
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 
是啊,我初始化也不对啊,
而且用兵 fstream创建出来的也不对
,ofstream ifstream在一个.cpp文件里也不对,我实在是没有办法了

樹欲靜而風不止... http://blog./seablue_xj
2006-11-20 12:10
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 

啊?
我不是以二进制的方式输出的,那么建立的a.txt文件打开后,就可以看到输出的问题,这样就和文件的读取没有任何的关系,
但是现在如果直接打开a.txt文件,其中显示的仍然是乱码,所以出错的地方应该是在这里,
不是指针的情况我也实验过,只用一个student a;
然后输入,结果还是乱码.
现在能确定的不是从文件中读取时的问题,而是在向文件中写入是出现的问题.


樹欲靜而風不止... http://blog./seablue_xj
2006-11-20 22:21
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 

没有啊,如果是二进制的是应该在ostream abc("a.txt",ios::out|ios::binary)
样这才是二进制的写入啊,而且,即便是二进制的,那么都是CPP去打开,那么它编译器应该有默认的转换啊


樹欲靜而風不止... http://blog./seablue_xj
2006-11-21 22:20
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 

而且还有一点我不知道你发现了没有,在读取文件的时候,系统一直有报警声,应该是转换上出了问题


樹欲靜而風不止... http://blog./seablue_xj
2006-11-21 22:21
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 
我晕

樹欲靜而風不止... http://blog./seablue_xj
2006-11-22 12:33
天使坠落的眼泪
Rank: 2
等 级:新手上路
威 望:5
帖 子:204
专家分:0
注 册:2006-5-16
收藏
得分:0 
难道文件的作用只是存储int类型的值么?

樹欲靜而風不止... http://blog./seablue_xj
2006-11-22 12:34
快速回复:[讨论]文件读取
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.031326 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved