Linux 环境下 C 语言编程的深入探索
1. I/O 重定向
在 Linux 环境的 C 语言编程中,I/O 重定向是一项重要的功能。标准库函数freopen可以将现有的流(如stdin、stdout或stderr)连接到指定的文件。其函数原型为:
FILE *freopen(char *file, char *mode, FILE * stream);它的工作原理是像平常一样打开指定的文件,但不创建新的流,而是将现有的流stream分配给该文件,同时关闭原来与stream关联的文件。例如:
freopen("mydata", "r", stdin);这会使 C 程序开始将 “mydata” 文件作为标准输入进行读取。如果freopen调用成功,它将返回一个FILE *指针。
在执行上述freopen语句后,以下代码:
char c = getc(stdin);将从 “mydata” 文件中读取下一个字符,而不是从键盘读取。
另外,还有一个类似的