c语言get调用函数,调用 get(fgetc) 跟 putc(fputc) 函数进行输入、输出

调用 get(fgetc) 和 putc(fputc) 函数进行输入、输出

当成功地打开文件后,接下来的事情就是对文件进行输入或输出操作,最简单的是调用 getc(或 fgetc) 和 putc(或 fputc) 函数进行字符的输入和输出。

1.调用 putc(或 fpuct) 函数输出一个字符

putc 函数的调用形式如下:

putc(ch, fp);

这里 ch 是待输出的某个字符,它可以是一个字符常量,也可以是一个字符变量;fp 是文件指针。putc(ch, fp) 的功能是将字符 ch 写到文件指针 fp 所指的文件中去。如果输出成功,putc 函数返回所输出的字符;如果输出失败,则返回一个 EOF 值。EOF 是在 stdio.h 库函数文件中定义的符号常量,其值等于 -1。

fputc 函数的调用形式和功能与 putc 函数完全相同。

例1 把从键盘输入的文本按原样输出到名为 file_a.dat 的文件中,用字符 @ 作为键盘输入结束的标志。

(1)打开文件

(2)从键盘输入一个字符

(3)判断输入的字符是否为 @,若是,结束循环,执行步骤(7)

(4)把刚输入的字符输出到指定的文件中

(5)从键盘输入一个字符

(6)重复步骤(3)至(5)

(7)关闭文件

(8)程序结束

程序如下:

121027219.gif

121027220.gif

1 #include

2 #include

3

4 intmain()5 {6 FILE *fpout;7 charch;8 if ((fpout = fopen("F:\\WEB\\TEST\\file_a.dat", "w")) ==NULL)9 {10 printf("Cant't open this file !\n");11 exit(0); //使用exit函数,必须包含stdlib.h头文件

12 }13 ch =getchar();14 while (ch != '@')15 {16 putc(ch, fpout);17 ch =getchar();18 }19 fclose(fpout);20 return 0;21 }

View Code

在屏幕中输入abcdefghijklmnopqrstuvwxyz@,@作为输入结束标志。

121027221.png

文件 file_a.dat 的输出结果如下:

121027222.jpg

2.调用 getc(或 fgetc)函数输入一个字符

getc 函数的调用形式如下:

ch = getc(fp);

fp 是文件指针。函数的功能是从 fp 指定的文件中读入一个字符,并把它作为函数值返回。以上表达式中 getc 函数把从文件中读入的一个字符赋给变量 ch。

fgetc 函数的调用形式和功能与 getc 函数完全相同。

例2 把已存在的 file_a.dat 文本文件中的内容原样输出到终端屏幕上。

(1)打开文件

(2)从指定文件中读入一个字符

(3)判断读入的是否是文件结束标志,若是,结束循环,执行步骤(7)

(4)把刚输入的字符输出到终端屏幕

(5)从文件中再读入一个字符

(6)重复步骤(3)至(5)

(7)关闭文件

(8)程序结束

注意:无论调用哪种函数读取文件,一定要先执行一次读操作,然后才能判断文件是否结束。

程序如下:

121027219.gif

121027220.gif

1 #include

2 #include

3

4 intmain()5 {6 FILE *fpin;7 charch;8

9 if ((fpin = fopen("F:\\WEB\\TEST\\file_a.dat", "r")) ==NULL)10 {11 printf("Can't open this file !\n");12 exit(0);13 }14

15 ch =getc(fpin);16 //判断文件是否结束可以使用 feof 函数,17 //该函数适用于文本文件和二进制文件18 //函数返回值为 1 则文件结束;0 则未结束

19 while (ch != EOF) //or while(feof(fpin) == 0)

20 {21 putchar(ch);22 ch =getc(fpin);23 }24 fclose(fpin);25

26 return 0;27 }

View Code

运行程序,结果如下:

121027223.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值