Linux系统中的I/O与文件操作全解析
1. I/O与进程控制的系统调用
在Linux系统中,I/O操作和进程控制相关的系统调用是非常重要的部分。下面是一个打开文件进行读取的示例代码:
#include <fcntl.h> int main(int argc, char *argv[]) { int fd; /* file descriptor */ /* open argv[1] for reading */ if ((fd = open(argv[1], O_RDONLY, 0)) == -1) { fprintf(stderr,"%s: cannot open %s\n", argv[0], argv[1]); perror("open system call"); exit(EXIT_FAILURE); } /* other code */ }当系统或库调用失败时,可以使用perror函数来显示错误信息:
perror (const char* msg)该函数会显示给定的消息msg,后面跟着与错误相关的标准错误消息。
当程序中不再需要某个文件描述符fd时,可以使用close函数将其从每个进程的打开文