So habe ich eine große Textdatei mit Daten darin und ich möchte es neu anordnen. Die Daten haben eine Kombination aus ganzen Zahlen und Gleitkommazahlen pro Zeile, aber ich bin nur daran interessiert, die erste ganze Zahl, die entweder eine 1 oder 0 ist, zu packen und am Ende der Zeile zu setzen.Lesen von Daten aus Dateien in C
Zum Beispiel in meiner Datendatei, habe ich die folgende Zeile
1 0.41 1 44
und ich möchte
0.41 1 44 1
sein Das ist, was ich bisher haben und kann sie nicht arbeiten Recht. Vielen Dank.
void main() {
FILE *fp;
FILE *out;
char str[15];
char temp;
fp = fopen("dust.txt", "r+");
out = fopen("dust.dat", "w");
while(fgets(str, sizeof(str), fp) != NULL) {
temp = str[0];
str[strlen(str)] = ' ';
str[strlen(str)+1] = temp;
str[strlen(str)+2] = '\r';
str[strlen(str)+3] = '\n';
fwrite(str, 1, strlen(str), out);
}
fclose(fp);
fclose(out);
}
auch Sie könnten Check Größe des str zurück von fgets wollen, da Sie versuchen, Länge zugreifen + 3 – ponayz
Sie das 'newline' beibehalten durch' fgets' nicht übersehen. –