Hi, Ich wollte unter C ein Programm schreiben bei dem u.a. viele einzelne Character in eine Datei geschrieben werden. Bisher habe ich es mit "fputc" folgendermassen geloest:
<AUSSCHNITT>
fputc(0x2d,datei); fputc(0x57,datei);
fputc(0x00,datei); fputc(0x10,datei);
fputc(0x98,datei); fputc(0xbc,datei);
... etc.
</AUSSCHNITT>
Ich haette aber lieber etwas in der Art wie:
<AUSSCHNITT>
char DATEN[27];
DATEN=(0x2d, 0x57, 0x00, 0x10, 0x98, 0xbc, ... etc.);
fprintf (datei, "%s",DATEN);
</AUSSCHNITT>
Ist soetwas irgendwie moeglich?
Characterausgaben unter C
Re: Characterausgaben unter C
Öh, da Dein dritter Wert bereits 0x00 ist, ist für C dort der String schon zu Ende... Also eher eine for-Schleife um einen fputc-Aufruf machen.
Re: Characterausgaben unter C
Hallo,
wie wär's mit fwrite()?
Syntax: size_t fwrite(void *Adresse, size_t Größe, size_t Anzahl, FILE *Dateivariable)
Die zu speichernde Byteanzahl, also die Größe des Blocks, ermittelt fwrite(), indem diese Funktion die Angaben "Größe" und "Anzahl" miteinander multipliziert.
Beispiel:
fwrite( &DATEN, 27, sizeof(CHAR), datei)
Gruß Thomas
wie wär's mit fwrite()?
Syntax: size_t fwrite(void *Adresse, size_t Größe, size_t Anzahl, FILE *Dateivariable)
Die zu speichernde Byteanzahl, also die Größe des Blocks, ermittelt fwrite(), indem diese Funktion die Angaben "Größe" und "Anzahl" miteinander multipliziert.
Beispiel:
fwrite( &DATEN, 27, sizeof(CHAR), datei)
Gruß Thomas
Re: Characterausgaben unter C
@Thomas:
Gute Idee. Aber wie uebergebe ich "DATEN" die ganzen Werte?
DATEN=(0x2d, 0x57, 0x00, 0x10, 0x98, 0xbc, ... etc.);
funktioniert ja bekanntlich nicht. <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
DATEN[0]=0x2d; DATEN<font size="1">=0x57; DATEN<font size="2">=0x00;
DATEN<font size="3">=0x10; DATEN<font size="4">=0x98; DATEN[5]=0xbc;
... etc.
funktioniert, ist mir aber etwas zu lang. Da waere mir meine fputc-Variante schon lieber, weil man dort leichter einen Wert "dazwischenschieben" kann.
Gibt es somit eine Moeglichkeit die Werte wie oben zu uebergeben?
Gute Idee. Aber wie uebergebe ich "DATEN" die ganzen Werte?
DATEN=(0x2d, 0x57, 0x00, 0x10, 0x98, 0xbc, ... etc.);
funktioniert ja bekanntlich nicht. <img src="http://www.pl-forum.de/UltraBoard/Images/Sad.gif" border="0" align="middle">
DATEN[0]=0x2d; DATEN<font size="1">=0x57; DATEN<font size="2">=0x00;
DATEN<font size="3">=0x10; DATEN<font size="4">=0x98; DATEN[5]=0xbc;
... etc.
funktioniert, ist mir aber etwas zu lang. Da waere mir meine fputc-Variante schon lieber, weil man dort leichter einen Wert "dazwischenschieben" kann.
Gibt es somit eine Moeglichkeit die Werte wie oben zu uebergeben?
Re: Characterausgaben unter C
Ich bin gerade entsetzt, was aus meiner Nachricht geworden ist.
Eigentlkich sollte der Text ueberall gleich gross bleben.
Und ich schrieb dort:
DATEN[0 ]=0x2d; DATEN[1 ]=0x57; DATEN[2 ]=0x00;
DATEN[3 ]=0x10; DATEN[4 ]=0x98; DATEN[5 ]=0xbc;
... etc.
(Ueberall ohne diese Luecke)
Eigentlkich sollte der Text ueberall gleich gross bleben.
Und ich schrieb dort:
DATEN[0 ]=0x2d; DATEN[1 ]=0x57; DATEN[2 ]=0x00;
DATEN[3 ]=0x10; DATEN[4 ]=0x98; DATEN[5 ]=0xbc;
... etc.
(Ueberall ohne diese Luecke)
Re: Characterausgaben unter C
Hi!
char *daten = { 0x0e, 0xff, 0x00, 0x3e };
Cheers,
Wolfgang
char *daten = { 0x0e, 0xff, 0x00, 0x3e };
Cheers,
Wolfgang