Problem beim Dateinamen generieren....
-
Hallo C-Freunde,
habe da ein Problem und bin auf der Suche nach Hilfe:
Ich würde gerne Dateien aufrufen und beschreiben, deren Dateinamen aber nummeriert sind, d.h.:
ich habe ein Zahlint v;
v =5und einen string:
char b[50] = "c:/windows/
und möchte jetzt
eine datei mit dem namen "c:/windows/5.dat" öffnen, wobei die 5 der wert von v ist.
Leider sind alle meine bemühungen (d.h. die verwendung von itoa() , strcpy(), strcat()) fehlgeschlagen und ich weiss nicht warum.
hier mein letzter versuch:
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(void) { int v; v = 5; char b[] = "e:/plot2/"; char c[] = ""; char d[] = ".dat"; itoa(v,c,10); strcat(b,c); printf("%s",b); getch(); strcat(b,d); FILE *datei; datei = fopen(b, "w+t");
-
itoa() ist keine offizielle Ansi-Funktion - und selbst wenn, sind die verwendeten char-Arrays zu klein für die Daten, die du dort reinpacken willst (wenn du keine Größe vorgibst, reserviert C gerade genug Platz für den String, mit dem du das Array initialisiert hast) - also werden bei deiner Datenumrechnung die Nachbar-Arrays überschrieben.
btw, ich würde ja den direkten Weg vorschlagen -
sprintf(filename,"e:/plot2/%d.dat",v);