猿问

打开文件夹下的txt文件看里面写入的信息是乱码,谁能给我解释一下,然后改一下下面的程序吗?谢谢!

class workbase   //职工数据库

{

public:

worker workers[MAX];

int top;

friend class moneybase;

public:

workbase()

{


worker b; 

top=-1; 

fstream file("worker.txt",ios::in);    //打开文件

while (1) 

file.read((char *)&b,sizeof(b)); 

if (!file) break; 

top++; 

workers[top]=b;

file.close();     //关闭文件

}


~workbase()                      //析构函数,    将worker[]写到work.txt文件中 

fstream file("worker.txt",ios::out); 

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

{

if (workers[i].del==1) 

file.write((char *)&workers[i],sizeof(workers[i])); 

}

file.close(); 


141editor
浏览 1488回答 1
1回答

onemoo

你并不是写入的文本格式。write写入的就是二进制格式啊,想写入文本得使用格式化输出。很多东西你都没学,请先搞懂,再做作业。你这么零散地问问题,别人也没法帮你。
随时随地看视频慕课网APP
我要回答