文件操作
有关文件操作的函数
-
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"//"%d:Admin:%s\0powss:%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;
}