由于在vs下开发,经常使用MFC的类库,文件读写也是CFile的类级派生类,现在此记录C语言文件操作常用api,以备不时之需。
(1)fopen,fclose – 文件打开关闭函数;
FILE* pFile = fopen("test.txt","w");
第一个参数是打开的文件名称,第二个为打开文件的方式,方式有很多,在此不列举了。打开文件用完之后记得关闭函数。
fclose(pFile);
(2)fgetc,fputc –单个字符的读写函数;
一次读取或写入一个字符,从文件当时的指针开始fopen一开始返回的是文件起始处的指针。
FILE* pFile = fopen("test.txt","r");
FILE* pFileSec = fopen("test1.txt","w");
if (pFile == NULL || pFileSec == NULL)
{
printf("The file open fail\n");
return -1;
}
//文件处理
printf("The File open OK\n");
char ch = fgetc(pFile);
while (ch!= EOF)
{
fputc(ch,pFileSec);
ch = fgetc(pFile);
}
fclose(pFile);
fclose(pFileSec);
system("pause");
(3)fgets,fputs–字符串的读写;
这两个函数读取文件中的字符串,遇到换行或文件末尾才结束,需要人为控制文件读取大小
int niTest = 123;
FILE* pFile = fopen("test.txt","w");
if (pFile == NULL)
{
printf("The file open fail\n");
return -1;
}
//文件处理
printf("The File open OK\n");
fputs("you are a test file",pFile);
fputs(":",pFile);
fprintf(pFile,"%d",niTest);
fclose(pFile);
FILE* fp = fopen("test.txt","r");
char buffer[100] = {0};
while (!feof(fp))
{
fgets(buffer,100,pFile);
printf("%s\n",buffer);
}
fclose(fp);
用feof判断文件读取结束。
好了,c语言的文件读写比较简单,但是灵活性很大,还是值得使用,接下来还会记录c++,mfc中文件读取的列子,供以后使用。