我正在编写类似油漆的颜色
我必须在文件中保存unsigned int
以保存用户绘制的内容,以便加载它(每个像素颜色为unsigned int
,使用我使用的lib)。我只能用write()
来做
我需要做的第一件事是,在文件中写下绘图的宽度。
unsigned int *pixels;
int FD;
unsigned int width;
width = pix->clipable.buffer.width;
if (!filename) return (1);
if ((FD = open(filename, O_WRONLY | O_CREAT, S_IRUSR)) == (-1))
return (1);
pixels = pix->pixels;
write(FD, &width, sizeof(unsigned int));
return (0);
当我执行printf("%u\n", width)
时,宽度为1020
当我打开使用'nano filename'创建的文件时,它被写成'\374^C^@^@'
。
我真的不明白为什么:/
答案 0 :(得分:0)
Nano是一个文本编辑器,当你打开它时,它会在你写一个整数(4个字节)时解释你写的4个字符(每个字节)。要测试这个,你需要编写一个程序来读取文件以查看你的int是否存在,或者使用十六进制编辑器并自己将字节转换为一个int来检查。