用c语言write,read实现在1.txt中写入helloworld,再从该文件中读取出5个字节数据,并打印出来
时间: 2024-05-05 17:16:47 浏览: 163
作业16作业要求:创建ctest.txt文件并在其中输入helloworld
5星 · 资源好评率100%
以下是实现代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
int main() {
char *msg = "helloworld\n";
char buf[5];
int fd = open("1.txt", O_RDWR | O_CREAT, 0666);
if (fd < 0) {
perror("open");
exit(1);
}
if (write(fd, msg, sizeof(msg)) < 0) {
perror("write");
exit(1);
}
if (lseek(fd, 0, SEEK_SET) < 0) {
perror("lseek");
exit(1);
}
if (read(fd, buf, sizeof(buf)) < 0) {
perror("read");
exit(1);
}
printf("%s", buf);
close(fd);
return 0;
}
```
代码解析:
首先定义了一个字符串 msg,用于写入文件。然后打开文件 1.txt,如果打开失败就输出错误信息并退出程序。接着使用 write 函数将 msg 写入文件中,如果写入失败也输出错误信息并退出程序。
接下来使用 lseek 函数将文件指针移动到文件开头,因为接下来要读取文件。然后使用 read 函数将文件中的 5 个字节读入 buf 数组中,如果读取失败也输出错误信息并退出程序。
最后使用 printf 函数输出读取到的 5 个字节,并关闭文件。
阅读全文