两个函数是对文件进行读写操作,使用时需要包含unistd.h,函数格式如下:
ssize_t write(int fd, const void *buf, size_t count);
ssize_t read(int fd, void *buf, size_t count);
fd:目标文件
buf:内存的缓冲区
count:期望写入、读取的字节数
成功写入的时候会返回实际写入的字节数,失败返回-1。
实例代码如下:
1.write的用法:
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <fcntl.h>
int main(int argc, char* argv[]) {
if (argc < 2) {
fprintf(stderr, "用法:%s <字符串>\n",
argv[0]);
return -1;
}
int fd = open("shared.txt", O_WRONLY |
O_CREAT | O_APPEND, 0644);
if (fd == -1) {
perror("open");
return -1;
}
size_t len = strlen(argv[1]);
for (size_t i = 0; i < len; ++i) {
if (write(fd, &argv[1][i], sizeof(
argv[1][i])) == -1) {
perror("write");
return -1;

本文介绍了Linux环境下C语言中用于文件读写操作的write()和read()函数,包括它们的函数格式、参数含义及使用示例。write()函数用于将内存缓冲区的数据写入文件,返回实际写入的字节数;read()函数则从文件读取数据到内存,同样返回实际读取的字节数。这两个函数在操作文件时是常用的基本工具。
最低0.47元/天 解锁文章
825

被折叠的 条评论
为什么被折叠?



