首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

`C++写入文件的有关问题`

2012-02-10 
救命啊`C++写入文件的问题``在线等#include iostream#include cstring#include fstreamusingnamespa

救命啊`C++写入文件的问题``在线等
#include <iostream>
#include <cstring>
#include <fstream>
using   namespace   std;

struct     Userinfo
{
int   id;   //用户ID
int   money;     //余额
char   pwd[7];//   密码
};

int   main()
{      
        struct   Userinfo   user[100];
        ofstream   file;
int   i;
       
for(i=0;i <=3;i++)
{
cout < < "请输入帐户: ";
cin> > user[i].id;
cout < < "请输入密码: ";
cin> > user[i].pwd   ;
                //cin.getline(user[i].pwd,sizeof(user[i].pwd));  
if(!cin.good())//万一用户输入超过位,则输入流失效,故清理
{
cin.clear();
        cin.ignore(1024, '\n ');//清除缓冲区
}

cout < < "请输入余额: ";
cin> > user[i].money;
}
        file.open( "test.txt ");
if   (file.fail())
{
cout < < "不能打开文件!!\n ";
exit(1);
}
else
file < <user;
file.close();
return   0;

}

[解决办法]
file < <user;

要么用 Write 方法,
要么逐个数据写文件,
比如改成这样:
file < <user[i].id < < "\t " < <user[i].pwd < < "\t " < <user[i].money < <endl;
[解决办法]
file.open( "test.txt ");
if (file.fail())
{
cout < < "不能打开文件!!\n ";
exit(1);
}
else
file < <user;
==》
file.open( "test.txt ");
if (file.fail())
{
cout < < "不能打开文件!!\n ";
exit(1);
}
else
for(i=0;i <=3;i++)
file < <user[i].id < < "\t " < <user[i].pwd < < "\t " < <user[i].money < <endl;


如果是用 write 方法,
注意用 2进制方式操作文件

热点排行