第1个回答 2012-11-12
如果你不想保存后的文件可以用记事本打开,那么就会变得很简单,比如,struct people{ char neme[5];unsigned age;char sex[3];char descri[100]} peo
假设现在保存peo到文件:write(&peo,sizeof(people));
那么读出的时候,先分配内存用于保存读进来的数据,假设分配的内存指针为p;内存的大小就是文件长度,假设为len;则读入内存为read(p,len);
文件长度/sizeof(people)=文件中存储信息对应的人数,假设为n,
则,for(int i=0;i<n;i++)
{
people *p=(people*)(p+i*sizeof(people));//p指针所指向的结构就是第i个人的信息
}
如果需要修改,只需对p指针进行操作。
第2个回答 2012-11-10
opendir(path)
std::ifstream inFile(filename.c_str(), std::ios_base::in);
inFile.exceptions(ios::failbit | ios::badbit);
inFile.ignore(numeric_limits<std::streamsize>::max(), '\n');
while(false == inFile.eof())
inFile.getline(chBuf, BUF_MAX);
这样文件内容就到chBuf里了,并且是一行一行读取,按空读取单个参数。
具体的 自己找下std::ifstream方法吧