在C語言中,可以使用write函數來將數據寫入文件或套接字。
函數原型如下:
ssize_t write(int fd, const void *buf, size_t count);
參數說明:
返回值:
下面是一個簡單的例子,展示了如何使用write函數將字符串寫入文件:
#include <stdio.h>
#include <fcntl.h>
#include <unistd.h>
int main() {
char *str = "Hello, world!";
int fd = open("output.txt", O_WRONLY | O_CREAT, 0644);
if (fd == -1) {
perror("open");
return 1;
}
ssize_t ret = write(fd, str, strlen(str));
if (ret == -1) {
perror("write");
close(fd);
return 1;
}
close(fd);
return 0;
}
在上面的例子中,我們首先使用open函數打開一個名為output.txt的文件,如果打開失敗則會返回-1,并通過perror函數打印錯誤信息。然后使用write函數將字符串str寫入文件中,并檢查返回值。最后使用close函數關閉文件。
需要注意的是,write函數是一個阻塞函數,如果寫入的數據量過大,可能會導致程序阻塞。可以使用write函數的返回值來判斷實際寫入的字節數,從而進行錯誤處理。