So eine Datei Ich öffne, lässt diese Datei aufrufen key.txtGibibberish in eine Datei schreiben?
FILE *fp;
fp = fopen("key.txt", "r");
Jetzt können sagen, ich habe eine andere Datei (fa), die ich mit dem Code „a“ geöffnet, um es anzuhängen. Nun lese ich alle Zeichen aus fp und füge jedes alphabetische Zeichen an die Datei fp an, aber es fügt MORE hinzu.
char c;
do {
c = getc(fp);
if(isalpha(c)){
fprintf(fa, &c);
fprintf(fa, "\n");
}
} while(c != EOF);
Ok, so das für mich gut aussieht, jetzt ist es jedes alphabetische Zeichen in die Datei hinzufügen, aber das Problem ist, es ist sogar MEHR Zeichen auf eine einzige Textzeile hinzugefügt. Ich versuche dieses Problem genau zu bestimmen. Hier ist ein Beispiel, innerhalb key.txt wir
lol
xd
Die Ausgabedatei fa haben hat den Inhalt
l<82>^0)y^?
o<82>^0)y^?
l<82>^0)y^?
x<82>^0)y^?
d<82>^0)y^?
So im nicht bekommen, was hier vor sich geht. Wie behebe ich das? Ich bin nicht sicher, was das genaue Problem ist
'fprintf (fa, &c);' -> 'fprintf (fa "% c", c);' –
@SouravGhosh, die danken gearbeitet? du! Craig Estey, ich habe mit -Wall kompiliert und es hat prima funktioniert – reVolutionary
Ja, es kompiliert [ich habe es nach nochmaligem Hinsehen nochmal überprüft], weshalb ich meinen ersten Kommentar gelöscht habe. Die '& c' [technisch gesprochen] würde sei ein 'char *' und würde vom Formatscanner im Compiler akzeptiert werden, ohne daraus abzuleiten, dass es nicht das Äquivalent von 'char fmt [2]' war, und es beim Aufruf von 'fp mit –