文件操作与错误处理:编程中的关键要点
1. 文件系统对象与抽象概念
在文件操作中, ReplaceNumbersInStream() 函数十分出色,它仅需一个 FILE 指针参数,就能从文件、字符流甚至键盘读取字符,翻译信息后将结果输出到标准输出。这得益于 UNIX “一切皆文件” 的理念,一个打开的 FILE 指针可以指向普通文件、目录、字符流、来自其他程序的管道、键盘、Xcode 控制台面板、终端窗口或网络通信套接字。无论指向何种对象,若要向其发送一个字符,都可调用 fputc() 函数。
例如,运行 RomanNumeral 程序时,若不传入任何参数,程序会暂停等待用户输入,因为此时键盘已连接到其标准输入。这种可互换性就是抽象,它是面向对象编程的关键概念。借助抽象,程序员无需为不同输入源编写多个版本的 ReplaceNumbersInStream() 函数,只需编写一个从 FILE 读取的函数,再传入任意打开的 FILE 即可。
不过,需要注意的是,尽管不同对象都可用 FILE 表示,但它们的行为并非完全相同。每个 FILE 都有一组属性限制其操作。有些属性是隐式的,如连接到程序的标准输入字符流是 FIFO 管道的读取端,只能使用 fgetc() 、 fgets() 、 fscanf() 和
编程中文件操作与错误处理要点
超级会员免费看
订阅专栏 解锁全文
85万+

被折叠的 条评论
为什么被折叠?



