fwrite type umwandlung
-
Hallo,
Ich will die untenstehende fprintf mit fread funktion erzeugen.
fprintf(fo1,"%c",(char)((int)(ival[i][j])));
So klappt es eigentlich:
charival[i][j]= (char)((int)(ival[i][j])) fwrite ( &charival[i][j], 1, 1, fo1);
ich habe aber kein speicherplatz um ein char array zu erzeugen.
Wie macht man diese Typumwandlung ohne ein zusätzlichen array zu erzeugen.PS: ival ist vom Type int-array, charival ist von Type char-array.
Vielen Dank
-
gast6 schrieb:
charival[i][j]= (char)((int)(ival[i][j])) fwrite ( &charival[i][j], 1, 1, fo1);
char c; fwrite( (c=ival[i][j],&c), 1, 1, fo1);
-
Danke, es ist einfach klasse von dir.
Sei nicht böse, ich will hier kurz noch eine einfache Frage stellen.
Die muss ich auch umwandeln.
fprintf(fo1,"P5\n"); fprintf(fo1,"%d %d\n", 256, 256); fprintf(fo1,"255\n");
So ist meine idee:
char buffer[] = { 'P', '5' ,' ', '2', '5', '6',' ' , '2','5','6',' ', '2','5','6',' '}; fwrite (buffer , 1 , sizeof(buffer) , fo1 );
Ich kann aber keine neue Zeile erzeugen. Wie geht das?
-
So hat es geklappt:
char buffer[] = { 'P', '5' ,'\n', '2', '5', '6',' ' , '2','5','6','\n', '2','5','6','\n'}; sysace_fwrite(buffer , 1 , sizeof(buffer) , fo1 );
-
Warum so kompliziert?
char buffer[] = "P5\n256 256\n,256\n"; fwrite(buffer , 1 , sizeof(buffer)-1 , fo1 );