可以说我有一个包含以下值的数组编号:

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/

10-10 10:49