file文件函数总结 fopen()/fclose() fgetc()/fputc() fgets()/fputs() fscanf()/fprintf() fread()/fwrite()

目录

1 文件的打开与关闭 fopen()/fclose()

1.1 fopen()

1.1.1 调用形式:文件指针名=fopen(文件名,文件打开方式)

1.1.2 返回值

1.2 fclose()

1.2.1 调用形式:fclose(文件名);

1.2.2 返回值

1.3 fopen()和fclose()的使用

2 (文本文件)字符读写函数 fgetc()/fputc()

2.1 fgetc()

2.1.1 调用形式

2.1.2 返回值

2.2 fputc()

2.2.1 调用形式

2.2.2 返回值

3(文本文件)字符串读写函数 fgets()/fputs()

3.1 fgets()

3.1.1 调用形式

3.1.2 返回值

3.2 fputs()

3.2.1 调用形式

3.2.2 返回值

4(文本文件)格式化读写函数 fscanf()/fprintf()

4.1 fscanf()

4.1.1 调用形式

4.1.2 返回值

4.2 fprintf()

4.2.1 调用形式

4.2.2 返回值

5.(二进制文件)读写函数 fread()/fwrite()

5.1 fread()

5.2 fwrite()

6 文件定位函数

6.1 feof()

6.1.1 调用形式

6.1.2 返回值

6.2 rewind()

6.3 fseek()

6.3.1 调用形式: fseek(fp,offset,from);

 6.3.2 返回值

6.4 ftell()


1 文件的打开与关闭 fopen()/fclose()

文件操作步骤:

void main()
{
   FILE *fp;  //定义文件指针
   fp=fopen("a.TXT","r");  //fopen("文件名","文件打开方式") 
                           //文件指针指向磁盘文件缓冲区
   //文件读写操作(这里r只能读)
   fclose(fp);
}

1.1 fopen()

1.1.1 调用形式:文件指针名=fopen(文件名,文件打开方式)

fp=fopen("a.TXT","r");

“文件指针名”:已说明的FILE类型的指针变量

“文件名”:被打开的文件名,是一个字符指针,指向要打开的文件的文件名字符串

1.1.2 返回值

(1)执行成功:返回包含文件缓冲区等信息的FILE型地址,赋给文件指针fp。

(2)执行不成功:返回NULL空指针。

1.2 fclose()

1.2.1 调用形式:fclose(文件名);

fclose(fp);

1.2.2 返回值

(1)执行成功:返回0

(2)执行失败:返回EOF。EOF称为文件结束符,值为-1。

1.3 fopen()和fclose()的使用

#include<stdio.h>
#include<stdlib.h>

int main()
{
  FILE *fp;
  if((fp = fopen("a.TXT","w"))==NULL)//打开文件
  {
     printf("File open error!\n);
     exit(0); //表示关闭所有打开的文件,并终止程序的执行
  }
   
  //对文件进行操作
  
  if(fclose(fp))
  {
     printf("Can not close the file!\n");
     exit(0);
  }

  return 0;
}
  

2 (文本文件)字符读写函数 fgetc()/fputc()

2.1 fgetc()

2.1.1 调用形式

ch = fgetc(fp);

功能:从文件的当前位置读一个字符给到ch

2.1.2 返回值

(1)读字符成功:返回所读字符

(2)读字符失败:返回文件结束符EOF

2.2 fputc()

2.2.1 调用形式

fputc(ch,fp);

功能:把字符ch写到文件

2.2.2 返回值

(1)写文件成功:返回所写字符

(2)写文件失败:返回文件结束符EOF

3(文本文件)字符串读写函数 fgets()/fputs()

3.1 fgets()

3.1.1 调用形式

fgets(str,n,fp);

功能:从文件当前位置读一个长度不超过n-1的字符串,存入字符数组str。

3.1.2 返回值

(1)读字符串成功:返回str

(2)读字符串失败:返回空指针NULL。

3.2 fputs()

3.2.1 调用形式

fputs(str.fp);

功能:将字符串str写入到文件中

3.2.2 返回值

(1)写字符串成功:返回0

(2)写字符串失败:返回非0值

4(文本文件)格式化读写函数 fscanf()/fprintf()

4.1 fscanf()

4.1.1 调用形式

fscanf(fp,"%f %s %d",&f,s,&i);
//fscanf(文件指针,格式字符串,输入列表)

 功能:从文件进行格式化读操作,遇到空格或换行时结束。

4.1.2 返回值

(1)读成功:返回读入的参数个数

(2)读失败:返回EOF

4.2 fprintf()

4.2.1 调用形式

fprintf(fp,"%f %s %d",3.14,"PI",1000);
//fscanf(文件指针,格式字符串,输出列表)

功能: 进行格式化写操作,写入文件。

4.2.2 返回值

(1)写成功:返回写入的参数个数

(2)写失败:返回EOF

5.(二进制文件)读写函数 fread()/fwrite()

5.1 fread()

char name[10]={0};
fread(name,sizeof(char),strlen(name),fp);
//fread(buffer,size,count,fp);
//buffer是指针,指向读入数据的存放地址
//size是指一个数据项的大小
//count是要进行读写的数据项的个数

功能:从二进制文件中读入一个数据块到变量。 

5.2 fwrite()

char *str = "hello"
fwrite(str,sizeof(char),strlen(str),fp);
//fwrite(buffer,size,count,fp);

功能:向二进制文件中写入一个数据块。 

6 文件定位函数

6.1 feof()

6.1.1 调用形式

feof(fp);

 功能:判断fp指针是否已经到文件末尾。

6.1.2 返回值

(1)如果文件指针到达文件末尾:返回非零值

(2)如果文件指针未达到文件末尾:返回0.

6.2 rewind()

调用形式:

rewind(fp);

 功能:定位文件到文件首部,即打开文件时文件指针所指向位置。

6.3 fseek()

6.3.1 调用形式: fseek(fp,offset,from);

功能:用来控制指针移动,将文件指针(fp)从文件起始位置(from)移动若干字节(offset)。

fseek(fp,20L,0);
//将文件位置指针移动到离文件首部20字节处

fseek(fp,-20L,SEEK_END);
//将文件位置指针移动到离文件尾部前20字节处

 6.3.2 返回值

(1)成功:返回0;

(2)失败:返回-1;

6.4 ftell()

6.4.1 调用形式

ftell(fp);

功能:获取当前文件指针位置,即相对于文件开头的位移量(字节数)。

6.4.2 返回值

(1)成功:返回相对于文件开头的位移量(字节数)。

(2)失败:返回-1.

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值