Skrive ind fil
Jeg har lavet følgende kode som opretter en fil efter brugerens ønske. Derefter tjekker jeg om der i forvejen findes i fil med samme navn. Hvis der gør giver min kode en fejlmeddelse. Koden ser sådan ud:int main() {
while() {
if() {
}
else if() {
printf ("Skriv navnet paa den fil du vil oprette: ");
scanf ("%s", filNavn);
strcat (filNavn, ".txt");
input = fopen (filNavn, "r");
if (input == NULL) {
input = fopen (filNavn, "w");
printf ("\n\nFilen '%s' er nu blevet oprettet.");
/* Her skal man kunne skrive i filen*/
}
else {printf("\aOBS! Filen '%s' er allerede oprettet.", filNavn);
}
else if() {
}
else {
}
}
}
Nu vil jeg gerne have at man kan skrive i filen som lige er oprettet og at programmet gemmer filen når man er færdig.
Jeg har lavet noget kode som kan skrive ind i en fil som ser således ud:
int main(void){
int key;
char text[10000];
FILE *ofp, *in;
ofp=fopen("text2.txt","w");
/*hent tekst*/
puts("write something");
gets(text);
/*skriv i fil*/
fprintf(ofp, "%s", text);
/*skriv til skærm*/
if((in=fopen("text2.txt","r"))==NULL);
while(!feof(in)) {
key=fgetc(in);
if(!feof(in)) putchar(key);
}
fclose(in);
}
Men når jeg implementere det i min kode virker det ikke. Såvidt jeg kan se springes den sidste løkke over fordi min kode står inde i en "else if"-sætning. Hvordan får jeg implementeret koden så jeg kan skive noget tekst i cmd (i programmet) som den så gemmer i den nyoprettet fil.