可以说我有一个包含以下值的数组编号:
int numbers = [12, 511, 337, 254];
现在,我想将这些数字缩放为单字节值并将其存储在
一个字符数组
char numbersscaled;
for(i=0; i<4; i++) {
numbersscaled[i] = numbers[i]/2;
}
最后,我想将这些值写为二进制文件,如下所示:
filebin = fopen("results.bin", "wb");
if(file==NULL) {
printf("Error\n");
return 1;
}
fwrite(numbersscaled, sizeof(numbersscaled[0]),
numbersscaled/numbersscaled[0], filebin);
fclose(filebin);
不幸的是,当尝试编译该程序时,gcc不喜欢fwrite命令:
error: invalid operands to binary / (have ‘char *’ and ‘int’)
有人知道我想念什么吗?
谢谢!
最佳答案
是的,您缺少sizeof
。
sizeof(numbersscaled)/sizeof(numbersscaled[0])
请注意,您的问题中有很多错别字(缺少
[]
等),这使得很难检测到真正的问题。请修复它。关于c - 将整数值写入二进制文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1073189/