PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [C|Linux] Typkonvertierung & Zuweisung int 2 char


Sleepy
20.12.2001, 00:52
Hi, es geht um folgendes Codefragment:

...includes....

char c;
char satz[10000];

while( (c = fgetc(f1)) != ´\n´ ){
satz = satz + (char)c;
}

Die Compilermeldung ist: incompatible types in assignment

Es hat also was mit dem Char & Int zu tun....

Ich bin müde, leg mich ins Bett *fg*

n8


Sleepy
20.12.2001, 18:52
strcat() ist die Funktion zum Verbinden zweier Strings :p

Das andere hat sich erledigt *fg*

CU

Baegsch
29.12.2001, 17:49
und wenn mans so lösen will wie du es zuerst lösen wolltest (spart sicherlich mehr rechenzeit als ständiges strcat() mit stack_pushen hin und her...

char c;
char *string;

while((c =fgetc(fd)) != ´\n´)
*(string++) = c;

aber btw. würd dir schnell der speicher ausgehen wenn deine Datei > 200000 Zeichen ist... also erstmal speicher reservieren mit malloc.. dann habt ihr euren speicher auch schön im heap und nicht aufm stack sondern nur den pointer aufm stack..

und nochmal btw.

dadurch das char[10000] nur 10000 bytes reserviert kann dein puffer auch leicht überlaufen.. z.B. wenn die Datei 20000 zeichen hat.. also lieber nen counter mit eingebaut das nach 10000 durchläufen der schleife abgebrochen wird.