文件输入/输出

13.1 和文件进行通信

文本视图和二进制视图 :在文本视图中,程序看到的内容和二进制的内容可能不同,例如MS-DOS文本文件用回车符和换行符的组合/r/n来表示行尾,Macintosh用一个回车符/r来表示行尾。C程序使用一个/n表示行尾。所以,如果C程序以文本视图模式处理一个MS-DOS文本文件,在读取文件时它会将/r/n转换为/n,在写入文件时它会将/n转换成为/r/n.

UNIX仅采用一种文件结构,这两种视图在UNIX实现中是相同的。

C程序自动为您打开3个文件,标准输入,标准输出和标准错误输出。默认的标准输入通常为键盘,默认的标准输出和标准错误输出通常为显示器。

例 13.1:

 

    要知道某些操作系统不能识别argv[0],所以这一用法并非完全可移植。

    exit() 函数关闭所有打开的文件并终止程序。参数会被传递给一些操作系统。通常的约定是正常终止的程序传递值0,非正常终止的程序传递非0值。ANSI C规定的使用值0或宏EXIT_SUCCESS来指示程序成功终止,使用宏EXIT_FAILURE指示程序非成功终止,在stdlib.h文件中。为了获得最大的可移植性,应该使用宏EXIT_SUCCESS和EXIT_FAILURE.

    在最初调用的main()中使用return 0和exit(0)的效果相同,但是如果main()在一个递归程序中,exit()仍然会终止程序,单return将控制权交给递归的前一级,直到最初的哪一级,此时return才会终止程序。return和exit()的另一个区别在于,即使在main()以外的函数中调用exit(),它也将终止程序。

fopen() 函数,打开文件,在stdio.h中声明。它的第一个参数是要打开的文件名,更确切地说,是包含该文件名的字符串的地址 ,第二个参数是用于指定文件打开模式的一个字符串,可以是“r” “w” “a” “r+” "w+" "a+"等,还有“rb” “wb”。。等和前面的模式相似,只是使用二进制模式而非文本模式。对于UNIX和Linux,带b字母的模式和对应的不带b字母的模式是相同的。注意,使用"w"模式打开一个已有的文件,文件内容将被删除,以便程序以一个空文件开始操作。
函数成功地打开一个文件后,返回一个文件指针,若打开失败,返回空指针NULL.

l 注意,使用 w 模式打开一个已有的文件,文件内容将被删除,以便程序以 一个空文件开始操作。
l 函数成功地打开一个文件后,返回一个文件指针,若打开失败,返回空指针 NULL.
l getc() putc() 函数的作用和用法。
l getc() 函数获取字符, putc() 输出一个字符,需要告诉它们要使用的文件。
l getc() 有一个参数,需要是文件指针类型,表示从这个指针指定的文件中获 得一个字符。
l puts() 有两个参数,第一个是字符,然后是文件指针。
l putc(ch, stdout) putchar(ch) 的作用是一样的。
文件结尾 :EOF
读取文件内容的两种范例:
1:
2:
精简形式:

fclose()函数
fclose(fp)函数关闭由指针fp指定的文件,同时根据需要刷新缓冲区。更正规的程序也许还要检查是否成功关闭了文件,如果成功关闭,fclose()函数将返回值0,否则返回EOF。
三种标准文件:
标准输入 stdin
标准输出 stdout
标准错误 stderr

---------------------------------csdn的代码真烂那。。。。代码框显示不正常也就罢了,连删都删不去那。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值