1)使用C语言中的文件操作:
写文件
FILE *p=fopen("1.txt","r");//文件名为1.txt,打开的方式为只读;
fwrite("welcome to the file system",1,strlen("welcome to the file system"),p);//往文件中写数据,这里使用fwrite函数,将一个字符窜
Fclose(p);//这个函数的调用,只是将要写入的内容放入缓冲区中,只有当工程关闭的时候,缓冲区的内容才被写入文件
Fflush(p)//这个函数,每当执行一次fwrite操作都会将缓冲区的内容及时写入文件中,这样就不需要关闭工程就能看到文件中的内容!
读文件;
FILE *p=fopen("1.txt","r");//打开一个文件,以只读的方式打开
char ch[100];//定义一个数组,接收从文件中读取的内容
// memset(ch,0,100);//初始化数组
// fread(ch,1,100,pFile);//读取文件中的内容到字符数组中
char *pBuf;//用指针的形式
fseek(p,0,SEEK_END);//首先将文件指针移动到文件的末尾的位置
int len=ftell(p);//这个时候,p的位置就是该文件的占有的总的字节数
pBuf=new char[len+1];//根据文件的大小,分配缓冲区的大小
fseek(p,0,SEEK_SET);//将文件指针移动到文件的开始位置,
fread(pBuf,1,len,p);//开始读取
pBuf[len]=0;//由于字符数组的结尾标志是’\0’,实际上就是十进制的0
Fclose(p);
MessageBox(pBuf);//消息输出
2)使用c++的输入输出流进行操作;
写文件:
ofstream out("2.txt");//构造一个输出流对象,并初始化(建立一个文件)
out.write("i am the student",strlen("i am the student"));像文件中写入数据
out.close();//关闭文件
读文件:
ifstream in("2.txt");构造一个输入流对象
char ch[100];
memset(ch,0,100);
in.read(ch,100);//读取文件内容到缓冲区中
in.close();//关闭
MessageBox(ch);//显示消息
3)使用CFile类进行操作;
写入文件
HANDLE hfile;//文件句柄
hfile=CreateFile("3.txt",GENERIC_WRITE |GENERIC_READ,0,NULL,CREATE_NEW,FILE_ATTRIBUTE_NORMAL,NULL);创建一个文件,各个参数的含义,可以查阅文档
DWORD dwWrite;实际的输出的字节数
WriteFile(hfile,"i am a student",strlen("i am a student"),&dwWrite,NULL);
CloseHandle(hfile);//销毁文件句柄
读取文件:基本上和写入文件类似
HANDLE hfile;
hfile=CreateFile("3.txt",GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL
,NULL);
char st[100];
DWORD dword;
memset(st,0,100);
ReadFile(hfile,st,100,&dword,NULL);
CloseHandle(hfile);
MessageBox(st);