c++上面文件读入操作
c++下面文件读入操作
[code=C/C++][/code]//#include"head.h"
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
struct stru_m
{
char num[5];
char a[14][17];
};
int main()
{
struct stru_m m;
int offset=sizeof(stru_m);
ofstream fout_notes("E:\\notes.txt",ios::app);
ifstream fin_m("E:\\map.txt");
if(!fin_m)
{
cout<<"打开地图文件失败,请确定e盘中有map.txt文件!"<<endl;
exit(-1);
}
fin_m.read((char*) &m,sizeof(stru_m));
cout<<*(m.a)<<endl;
getch();
return 0;
}[code=C/C++][/code]#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
struct stru_m
{
char num[5];
char a[14][17];
};
int main()
{
struct stru_m m[42]={0};
ifstream fin_m("E:\\map.txt");
if(!fin_m)
{
cout<<"打开地图文件失败,请确定e盘中有map.txt文件!"<<endl;
exit(-1);
}
for(int i=0;i<42;i++)
{
fin_m.read((char*) &m[i],sizeof(stru_m));
cout<<*(m[i].a)<<endl;
getch();
}
fin_m.close();
return 0;
}[color=#FF0000][/color]这两端代码有区别么?为什么读入结果不一样呢?求高手解答!
------解决方案--------------------
分析代码,还不如下断调试, 对比两段程序在哪里开始数据不同.
[code=C/C++][/code]//#include"head.h"
#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
struct stru_m
{
char num[5];
char a[14][17];
};
int main()
{
struct stru_m m;
int offset=sizeof(stru_m);
ofstream fout_notes("E:\\notes.txt",ios::app);
ifstream fin_m("E:\\map.txt");
if(!fin_m)
{
cout<<"打开地图文件失败,请确定e盘中有map.txt文件!"<<endl;
exit(-1);
}
fin_m.read((char*) &m,sizeof(stru_m));
cout<<*(m.a)<<endl;
getch();
return 0;
}[code=C/C++][/code]#include <fstream>
#include <iostream>
#include <conio.h>
using namespace std;
struct stru_m
{
char num[5];
char a[14][17];
};
int main()
{
struct stru_m m[42]={0};
ifstream fin_m("E:\\map.txt");
if(!fin_m)
{
cout<<"打开地图文件失败,请确定e盘中有map.txt文件!"<<endl;
exit(-1);
}
for(int i=0;i<42;i++)
{
fin_m.read((char*) &m[i],sizeof(stru_m));
cout<<*(m[i].a)<<endl;
getch();
}
fin_m.close();
return 0;
}[color=#FF0000][/color]这两端代码有区别么?为什么读入结果不一样呢?求高手解答!
------解决方案--------------------
分析代码,还不如下断调试, 对比两段程序在哪里开始数据不同.