|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 cswz88 于 2012-5-19 17:16 编辑
#include <IOSTREAM.H>
#include <IOMANIP.H>
#include <FSTREAM.H>
#include <stdlib.h>
#include <MATH.H>
#include <string.h>
void main(void)
{
char c1,c2,c[]={"ABCDEFGH"},c3[8]={0};
ofstream outfile("letter.dat",ios:: out | ios::binary);
if(!outfile)
{
cout << "不能打开目标文件";
exit(1);
}
outfile.write((char*)c,sizeof(char)*(strlen(c)));
outfile.flush();
ifstream infile("letter.dat",ios::in | ios::binary);
if(!infile)
{
cout << "不能打开源文件";
exit(1);
}
infile.seekg(3);
infile.read((char*)&c1,sizeof(char));
cout << c1 << '\n';
cout <<strlen(c) << endl;
cout << "请输入新字母:";
cin >> c1;
outfile.seekp(5);
outfile.write((char*)&c1,sizeof(char));
outfile.flush();
infile.seekg(5);
infile.read((char*)&c2,sizeof(char));
cout << c2 << endl;
outfile.close();
infile.close();
ifstream infile2("letter.dat",ios::in | ios::binary);
infile2.read((char*)&c3,sizeof(char)*8);
cout << strlen(c3) << endl; //这里为什么strlen(c3)是16而不是8?
for (int i =0;i<strlen(c3);i++) //输出的是16位而不是8位?
{
cout << c3[i][ i ];
}
}
[/i] |
|