一个简单往文件写数据问题
请问大虾我为什么往文件写进去的是乱码啊?
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#define MAX 256
int main(void)
{
int fd;
int i;
char buf[MAX];
fd = open("test.txt", O_RDWR | O_APPEND);
if(fd == -1)
{
perror("fail to open");
exit(1);
}
i = 0;
while(i < 80)
{
sleep(1);
buf[i] = i;
printf("%d\n", i);
if(write(fd, buf, 2) == -1)
{
perror("fail to write");
exit(1);
}
if(fsync(fd) == -1)
{
perror("fail to fsync");
exit(1);
}
i ++;
}
close(fd);
return 0;
}