打印本文 打印本文  关闭窗口 关闭窗口  
C语言入门教程-文本文件来源于瑞达科技网
作者:佚名  文章来源:网络  点击数  更新时间:2011/1/18   文章录入:瑞达  责任编辑:瑞达科技

文本文件

C中的文本文件很简单,不难掌握。所有的文本文件操作函数和相关类型都由stdio库提供。

当您的C程序需要文本输入输出(I/O)功能,且只有一个信息输入来源和一个输出目标时,可以使用stdin(标准输入)和stdout(标准输出)进行编程,然后在命令行使用输入输出重定向,为各信息流指定不同的来源或目标。 您可以用于标准输入输出的I/O函数有六个:

  • printf - 格式化输出到标准输出设备
  • scanf - 从标准输入设备格式化输入
  • puts - 向标准输出设备输出一个字符串
  • gets - 从标准输入设备读入一个字符串
  • putc - 向标准输出设备输出一个字符
  • getc, getchar - 从标准输入设备读入一个字符

标准输入输出的优点是易于使用。同时,I/O重定向的功能也非常强大。例如,您要编写一个程序从标准输入读取信息并统计总字符个数:

#include 
#include

void main()
{char s[1000];int count=0;while (gets(s))
count += strlen(s);printf("%d
\n",count);}

录入上面的程序并运行。运行时程序会等待键盘输入,请键入几行字符,然后用CTRL-D (eof)通知程序输入结束。gets函数不断读取输入行,直至检测到eof,此时返回0并结束while循环。按下CTRL-D后,您将在标准输出设备(屏幕)上看到字符的计数。(可用man gets命令或者从编译器文档获得更多关于gets函数的知识。)

现在假设您要统计某个文件的字符个数。若上面代码编译生成的可执行文件名为xxx,您可以执行以下命令:

xxx < filename

此命令将文件名为filename的文件内容(而非键盘输入的内容)传给程序。也可以使用管道获得同样的结果:

cat < filename | xxx

还可以将输出重定向到一个文件:

xxx < filename > out

此命令将程序得出的字符计数输出到一个名为out的文本文件。

有时需要直接使用文本文件。例如,要打开并读写某个特定的文件。您的程序可能要同时操作多个输入输出流,或者要在运行期间根据需要载入和保存数据文件或配置文件(如文本编辑器)。这时就要使用stdio中的文件I/O函数:

  • fopen - 打开一个文本文件
  • fclose - 关闭一个文本文件
  • feof - 检测文件eof结束标记
  • fprintf - 格式化输出到一个文件
  • fscanf - 从一个文件读取格式化输入
  • fputs - 向文件输出一个字符串
  • fgets - 从文件读入一个字符串
  • fputc - 向文件输出一个字符
  • fgetc - 从文件读入一个字符

打印本文 打印本文  关闭窗口 关闭窗口