文件操作
有关文件操作的函数
fopen(): 作用:打开一个文件,并返回文件指针 函数原型: FILE* fopen(const char * _Filename,const char * _Mode);
fclose(): 作用:关闭文件 函数原型: int fclose(FILE * _File);
fscanf(): 作用: 格式化读取文件中数据 函数原型: int fscanf(FILE * _File, const char * _Format, ...);
fprintf(): 作用: 将数据格式化写入文件 函数原型: int fprintf(FILE * _File,const char * _Format, ...);
fread(): 作用:以二进制形式读取文件中的数据 函数原型: size_t fread(void * _DstBuf, size_t _ElementSize, size_t _Count, FILE * _File);
fwrite(): 作用: 以二进制形式写数据到文件中去 函数原型: size_t fwrite(const void * _Str, size_t _Size,size_t _Count, FILE * _File);
fgets(): 作用:从文件中读取一个字符串 函数原型: char * fgets(char * _Buf, int _MaxCount, FILE * _File);
fputs(): 作用: 写入一个字符床到文件中 函数原型: int fputs(const char * _Str, FILE * _File);
fseek(): 作用:移动文件指针到指定位置 函数原型: int fseek(FILE * _File, long _Offset, int _Origin);
ftell(): 作用: 返回文件指针在文件中的位置 函数原型: long ftell(FILE * _File);
文件的打开模式
获取文件的大小
FILE
*pFile
= fopen("1.txt","r");
unsigned int FileSize
= 0;
fseek(pFile
,0,SEEK_END);
FileSize
= ftell(pFile
);
fseek(pFile
,0,SEEK_SET);
文件操作的例子
#include <stdio.h>
#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#define _STR_1_ "%d、Admin:%s,powss:%s\n"
#define _STR_2_ "%d、Admin:%[^,],powss:%s\n"
int WriteTxt(FILE
*pfile
,int number
,char *admin
,char *password
)
{
fprintf(pfile
,_STR_1_
,number
,admin
,password
);
return 0;
}
int main(void)
{
int i
;
char str1
[1024] = {0};
char str2
[1024] = {0};
FILE
*pfile
= fopen("debug.txt","w+");
char Txtstr
[1024] = {0};
if (pfile
== NULL)
{
printf("open file error!\n");
return -1;
}
WriteTxt(pfile
,1,"scd","123456");
WriteTxt(pfile
,2,"zhangsan","12534815613");
WriteTxt(pfile
,3,"lisi","12688536");
WriteTxt(pfile
,4,"wangwu","14673232323");
rewind(pfile
);
do
{
fscanf(pfile
,"%s",Txtstr
);
sscanf(Txtstr
,_STR_2_
,&i
,str1
,str2
);
printf("i = %d,str1 = %s,srt2=%s\n",i
,str1
,str2
);
} while (!feof(pfile
));
fclose(pfile
);
pfile
= NULL;
return 0;
}