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

纯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);
}

CArchive类方式读取文件

写文件

CFile file("1.txt",CFile::modeCreate | CFile::modeWrite);
 CArchive ar(&file,CArchive::store);
 int i=1;
 char ch='a';
 CString str="http:liyuanjing.org";
 ar<<i<<ch<<str;

读文件

CFile file("1.txt",CFile::modeRead);
 CArchive ar(&file,CArchive::load);
 int i;
 char ch;
 CString str;
 CString strResult;
 ar>>i>>ch>>str;
 strResult.Format("%d,%c,%s",i,ch,str);
 MessageBox(strResult);

转载于:https://my.oschina.net/liyuanjinglyj/blog/77393

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值