Für alle, die das Programm nachcompilieren lassen wollen: Der Fehler ist nach der Eingabe von y/n. Die Datei wird zwar erstellt, es findet aber ein Memory-Leak statt, was nicht sein darf.
C++:
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
FILE *filename, *oldfile;
char *name = NULL;
char answer;
name = malloc(30);
printf("file? ");
scanf("%s", name);
if( (oldfile = fopen(name, "r")) != NULL)
{
printf("file %s exists and will be replaced. "
"Do you wand to proceed? (y/n): ", name);
scanf("%s", &answer);
}
if( (answer == 'y') || (oldfile == NULL))
{
filename = fopen(name, "w+");
fprintf(filename, "Ich fange mit einem Header an!\nCool");
fclose(filename);
}
free(name);
return 0;
}
Zuletzt bearbeitet von einem Moderator: