码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2016-06-07 23:53:53      阅读:332      评论:0      收藏:0      [点我收藏+]

标签:

  当成功地打开文件后,接下来的事情就是对文件进行输入或输出操作,最简单的是调用 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)程序结束

  程序如下:

技术分享
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     FILE *fpout;
 7     char ch;
 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@,@作为输入结束标志。

 技术分享

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

 技术分享

  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)程序结束

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

  程序如下:

技术分享
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 
 4 int main()
 5 {
 6     FILE *fpin;
 7     char ch;
 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

  运行程序,结果如下:

技术分享

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

标签:

原文地址:http://www.cnblogs.com/web1013/p/5562400.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!