求救--在vc中怎样操作文件写入

kaqusa 2001-11-17 03:54:17
本人最近在学vc时,遇到一个问题:
怎样在vc中将一个结构型的数据写入到文件中去,用什么函数,且写入以后怎样读出
指定的一条记录。
...全文
74 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zmrzzg 2001-11-17
  • 打赏
  • 举报
回复
以数据流方式写文件
struct AAA
{
WORD buff[100];
}*mybuff;
mybuff=new AAA;
WORD data[5]={1,2,3,4,5};
CopyMemory(mybuff->buff,data,sizeof(AAA));
CFile file;
if(file.Open(YourFileName,CFile::modeWrite|CFile::shareExclusive,NULL))
{
file.SeekToEnd();
file.Write(mybuff,sizeof(AAA));
}
file.Close();
delete mybuff;


读文件,将文件内容全部读出,以下的代码会对你有帮助的
struct AAA
{
WORD buff[100];
}*mybuff;
mybuff=new AAA;
CFile file;
int CurrentPosition=0;
if(file.Open(youfilename,CFile::modeWrite|CFile::shareExclusive,NULL))
{
int filelen=file.GetLength();
file.SeekToBegin();
while(CurrentPosition<filelen)
{
file.Read(mybuff,sizeof(AAA));
CurrentPosition+=sizeof(AAA);
}
}
file.Close();
delete mybuff;
kaqusa 2001-11-17
  • 打赏
  • 举报
回复
fyougo(莱斯洛特) 
你能不能再说明白一点,我不大看的懂你的
能不能给出具体的原程序.
hydnoahark 2001-11-17
  • 打赏
  • 举报
回复
简单:
#include <iostream>
#include <fstream>

typedef struct _tagDate
{
int year;
int month;
int day;
} Date;

int main()
{
Date dt1={2001,1,1};
Date dt2;
std::ofstream tfile1("D:\\test.dat",std::ios::binary);
tfile1.clear();
tfile1.seekp(0);
tfile1.write(reinterpret_cast<char*>(&dt1),sizeof(dt1));
tfile1.close();

std::ifstream tfile2("D:\\test.dat",std::ios::binary);
tfile2.seekg(0);
tfile2.read(reinterpret_cast<char*>(&dt2),sizeof(dt2));
tfile2.close();

std::cout<<dt2.year<<"-"<<dt2.month<<"-"<<dt2.day<<std::endl;
return 0;
}
ruixp 2001-11-17
  • 打赏
  • 举报
回复
fyougo 2001-11-17
  • 打赏
  • 举报
回复
首选,这个数据必须派生serialize(CArchive &ar)函数,用COblist行的类存你的数据,
eg;
COblist mylist;
蔡mylist.addhead(你的数据);
在doc的serialize(CArchive &ar)函数中:
mylist.serialize(ar);
就行了

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧