Hallo
Ich möchte aus einem C Programm Daten in eine Datei schreiben. Das
Schreiben auf die Datei funktioniert schon. Allerdings möchte ich die
Strings die geschrieben werden, mit Leerzeichen und TAB`s noch
formatieren. Das funktioniert leider überhaupt nicht. Sobald ich ein
Leerzeichen in den String einfüge, wird dieser beim nächsten Zugriff auf
die Datei ab diesem Leerzeichen wieder überschrieb (ein Problem mit der
0 Terminierung!?). Andere Zeichen wie der horizontale Tabulator werden
gar nicht eingefügt... Habt ihr mir hier einen Tipp wie ich das in
meinen Code rein bekomme?
1 | void export_clicked(GtkWidget *widget, gpointer data)
|
2 | {
|
3 | FILE * fd;
|
4 | int length = 0;
|
5 | char buf[80];
|
6 | char buffer[5000];
|
7 | struct stat attribut;
|
8 |
|
9 | length = sprintf(buf, "Temperatur:%s+%d°C\n\r", 0x32, temperature);
|
10 |
|
11 | //starting the file operation
|
12 |
|
13 | stat(FILENAME, &attribut);
|
14 | fd = fopen(FILENAME , "r+");
|
15 | if (fd == NULL)
|
16 | {
|
17 | //unable to open file.
|
18 | printf("open_file: Unable to open %s", FILENAME);
|
19 | }
|
20 | printf("buf: %s", buf);
|
21 | fscanf(fd, "%s", buffer);
|
22 | printf("string: %s\n", buffer);
|
23 | fprintf(fd,"%s", buf);
|
24 | fclose(fd);
|
25 |
|
26 | }
|