C++文件操作的5种方式

纯C语言读取文件方式

写文件

FILE *pFile;
pFile=fopen("jingge.txt","w");
fwrite("http://blog.sina.com.cn/liyuanjinglyj",1,strlen("http://blog.sina.com.cn/liyuanjinglyj")+1,pFile);
fseek(pFile,0,SEEK_SET);
fwrite("liyuanjing",1,strlen("liyuanjing"),pFile);
//fclose(pFile);
fflush(pFile);

读文件

FILE *pFile;
pFile=fopen("jingge.txt","r");

char *pChr;
fseek(pFile,0,SEEK_END);
int len=ftell(pFile);
pChr=new char[len+1];
rewind(pFile);
fread(pChr,1,len,pFile);
fclose(pFile);
pChr[len]=0;
MessageBox(pChr);

C++读写文件方式

写文件

ofstream ofs("4.txt");
ofs.write("http://blog.sina.com.cn/liyuanjinglyj",strlen("http://blog.sina.com.cn/liyuanjinglyj"));
ofs.close();

读文件

ifstream ifs("4.txt");
char ch[100];
memset(ch,0,100);
ifs.read(ch,100);
ifs.close();
MessageBox(ch);

Windows API读写文件方式

写文件

HANDLE pFile;
pFile=CreateFile("5.txt",GENERIC_WRITE,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);
DWORD dwWrite;
WriteFile(pFile,"http://blog.sina.com.cn/liyuanjinglyj",strlen("http://blog.sina.com.cn/liyuanjinglyj"),&dwWrite,NULL);
CloseHandle(pFile);

读文件

HANDLE hFile;
hFile=CreateFile("5.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
char ch[100];
DWORD dwRead;
ReadFile(hFile,ch,100,&dwRead,NULL);
ch[dwRead]=0;
CloseHandle(hFile);
MessageBox(ch);

CFile类读写文件方式

写文件

CFile file("6.txt",CFile::modeCreate | CFile::modeWrite);
file.Write("http://blog.sina.com.cn/liyuanjinglyj",strlen("http://blog.sina.com.cn/liyuanjinglyj"));
file.Close();

读文件

CFile file("6.txt",CFile::modeRead);
char *pChr;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pChr=new char[dwFileLen+1];
pChr[dwFileLen]=0;
file.Read(pChr,dwFileLen);
file.Close();
MessageBox(pChr);

MFC提供的CFileDialog方式读写文件

写文件

CFileDialog filedlg(FALSE);
filedlg.m_ofn.lpstrTitle="静哥另存为对话框";
filedlg.m_ofn.lpstrFilter="Text file(*.txt)\0*.txt\0ALL file(*.*)\0*.*\0\0";
filedlg.m_ofn.lpstrDefExt="txt";
if(IDOK==filedlg.DoModal())
{
CFile file(filedlg.GetFileName(),CFile::modeCreate | CFile::modeWrite);
file.Write("http://blog.sina.com.cn/liyuanjinglyj",strlen("http://blog.sina.com.cn/liyuanjinglyj"));
file.Close();
}

读文件

CFileDialog filedlg(TRUE);
filedlg.m_ofn.lpstrTitle="静哥另存为对话框";
filedlg.m_ofn.lpstrFilter="Text file(*.txt)\0*.txt\0ALL file(*.*)\0*.*\0\0";
if(IDOK==filedlg.DoModal())
{
CFile file(filedlg.GetFileName(),CFile::modeRead);
char *pChr;
DWORD dwFileLen;
dwFileLen=file.GetLength();
pChr=new char[dwFileLen+1];
pChr[dwFileLen]=0;
file.Read(pChr,dwFileLen);
file.Close();
MessageBox(pChr);
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

李元静

您的鼓励就是我创作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值