溫馨提示×

c語言write函數的用法是什么

小億
277
2023-08-02 12:44:19
欄目: 編程語言

C語言中的write函數是用來將數據從文件描述符寫入到文件中。它的原型如下:

ssize_t write(int fd, const void *buf, size_t count);

其中,fd是文件描述符,buf是指向要寫入數據的緩沖區(qū)的指針,count是要寫入的字節(jié)數。

write函數的返回值是實際寫入的字節(jié)數。如果返回值為-1,則表示寫入出現錯誤,具體錯誤原因可以查看全局變量errno來獲取。

下面是一個使用write函數將字符串寫入文件的例子:

#include <unistd.h>
#include <fcntl.h>
int main() {
int fd = open("output.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
if (fd == -1) {
perror("open");
return 1;
}
const char *str = "Hello, World!";
ssize_t bytes_written = write(fd, str, strlen(str));
if (bytes_written == -1) {
perror("write");
close(fd);
return 1;
}
close(fd);
return 0;
}

在上面的例子中,open函數用來打開一個文件,并返回文件描述符。如果文件不存在,則使用O_CREAT參數來創(chuàng)建文件。O_WRONLY參數表示以只寫方式打開文件,O_TRUNC參數表示清空文件內容。0644是文件權限,表示文件所有者有讀寫權限,其他用戶只有讀權限。

然后,通過write函數將字符串“Hello, World!”寫入到文件中,然后關閉文件描述符。

需要注意的是,write函數是以字節(jié)為單位進行寫入的,所以要確保傳入的緩沖區(qū)的大小至少是要寫入的字節(jié)數。

0