Lets sagen, dass ich ein Array Zahlen haben, enthält die folgenden Werte:Schreiben Integer-Werte in binäre Datei
int numbers = [12, 511, 337, 254];
Nun würde Ich mag diese Zahlen in einzelnen Byte-Werte skalieren und speichern sie in ein char-Array
char numbersscaled;
for(i=0; i<4; i++) {
numbersscaled[i] = numbers[i]/2;
}
Schließlich würde Ich mag diese Werte als Binärdatei schreiben, wie folgt:
filebin = fopen("results.bin", "wb");
if(file==NULL) {
printf("Error\n");
return 1;
}
fwrite(numbersscaled, sizeof(numbersscaled[0]),
numbersscaled/numbersscaled[0], filebin);
fclose(filebin);
Leider
, wenn man versucht, dieses Programm gcc zu kompilieren nicht den Fwrite Befehl mag:
error: invalid operands to binary/(have ‘char *’ and ‘int’)
jemand eine Idee, was ich fehle? Danke!
Sie konvertieren ein Int in ein Zeichen ... Warum kann der Wert größer als in ein Byte passen? –