Linux IO系统编程,不使用C语言库函数从文件里面读取内容并打印。
时间: 2023-06-14 17:07:17 浏览: 144
以下是一个简单的使用Linux系统调用进行文件读取的示例程序:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#define BUF_SIZE 1024
int main(int argc, char *argv[]) {
int fd;
ssize_t num_read;
char buf[BUF_SIZE];
if (argc != 2) {
fprintf(stderr, "Usage: %s <filename>\n", argv[0]);
exit(EXIT_FAILURE);
}
fd = open(argv[1], O_RDONLY);
if (fd == -1) {
perror("open");
exit(EXIT_FAILURE);
}
while ((num_read = read(fd, buf, BUF_SIZE)) > 0) {
if (write(STDOUT_FILENO, buf, num_read) != num_read) {
perror("write");
exit(EXIT_FAILURE);
}
}
if (num_read == -1) {
perror("read");
exit(EXIT_FAILURE);
}
if (close(fd) == -1) {
perror("close");
exit(EXIT_FAILURE);
}
return 0;
}
```
该程序接受一个文件名作为参数,并使用系统调用 `open` 打开文件,然后使用 `read` 从文件中读取内容并将其写入标准输出中。最后使用 `close` 关闭文件。需要注意的是,该程序并没有使用C语言库函数进行文件读写,而是直接使用了系统调用。
阅读全文
相关推荐


















