qfedu-linux-advanced-level/day2/read_test.c

32 lines
927 B
C

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h> // close
// 读取数据
int main(int argc, char const *argv[])
{
int fd = open("test.txt", O_RDONLY); // 打开文件,以只读方式打开
if (fd < 0)
{
perror("open"); // 打开文件失败时输出错误信息
return -1;
}
char buffer[128] = ""; // 用于存储读取的数据的缓冲区
ssize_t len = read(fd, buffer, sizeof(buffer)); // 读取数据
if (len != -1)
{
printf("从文件号: %d, 读取数据成功: %ld bytes\n", fd, len); // 输出读取成功的信息
printf("读取到的数据为: %s\n", buffer); // 输出读取到的数据
}
if (close(fd) < 0) // 关闭文件
{
perror("close"); // 关闭文件失败时输出错误信息
return -1;
}
return 0;
}