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

来源:互联网 发布:java标识符命名规则 编辑:程序博客网 时间:2024/05/04 04:43

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