Textdatei benennen

Hotte93

Grünschnabel
Hey Com,

ich möchte eine Textdatei die ich erstelle gerne Individuell benennen.
z.B. will ich String1 in einer einzelnen Textdatei String1 speichern.
Und String2 dann in der Textdatei String2.

Das Format ist ja folgendes:

C++:
fp=fopen("Textdatei.txt", "a+") //a+ hier zum erstellen der Datei
Ich hatte überlegt ein Array zu erstellen und das quasi als "Textdatei.txt" einzustellen.
Also:
C++:
printf("Eingabe :");
scanf("%d", &Eingabe);

char Name[6];

Name[0]='S';
.......
Name[6]=Eingabe;

fopen(Name, "a+");
Das Programm läuft zwar fehlerfrei durch, allerdings wird die Datei nicht erzeugt.

Hat jemand eine Idee wie ich das umsetzen kann?

MfG
Hotte
 
Zuletzt bearbeitet von einem Moderator:

cwriter

Erfahrenes Mitglied
Hi

Dein char Name ist 6 Bytes gross, aber du greifst auf das 7. Element zu (Arrays beginnen bei 0).

Zudem scanst du ja eine Ziffer, keinen char (das Verhältnis ist: Ziffer + 48 = Darstellung der Ziffer, siehe Ascii.)
Und falls du nicht nur Ziffern, sondern auch Zahlen haben willst, solltest du ohnehin etwas anderes verwenden, z.B. sprintf():
C:
char Name[256];
int Eingabe = 0;
scanf("%d", &Eingabe);
sprintf(Name, "String%d.txt", Eingabe);

Gruss
cwriter
 

Hotte93

Grünschnabel
Super danke!
Hat geklappt :)

Für alle die das selbe Problem haben,
hier nochmal ergänzt mit fopen:

char Name[256];
int Eingabe = 0;
scanf("%d", &Eingabe);
sprintf(Name, "String%d.txt", Eingabe);
fp=fopen(Name, "a+");