我想用write函數在文件里寫入一個int型變量,一定要把這個變量轉成char型的才能寫入嗎?read的時候也只能讀出char型嗎?
2 回答

撒科打諢
TA貢獻1934條經驗 獲得超2個贊
可以直接把int的地址強制轉為char*來寫入。如
int i = 1234;
write(fd, (char*)&i, sizeof(int));
同樣道理,read也類似:
read(fd, (char*)&i, sizeof(int));

Qyouu
TA貢獻1786條經驗 獲得超11個贊
為什么一定要用write,難道用fprintf不是更方便更好管理嗎?而且write的buf本身是void,為什么會不能用整型寫入?
SYNOPSIS
#include <unistd.h>
ssize_t write(int fd, const void *buf, size_t count);
添加回答
舉報
0/150
提交
取消