两个函数是对文件进行读写操作,使用时需要包含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(