Fortlaufende Dateinummerrierung...
-
weiss nich...
-
scanf liest nur bis zur nächsten Leerstelle. Nimm besser fgets..
-
Ortus schrieb:
wenn ich bei der eingabe einen leerschlag habe, werden die getrennt teile in 2 verschiedene Files gespeichert.
wenn ich zb "der mensch" eingebe wird "der" in ein file und "mensch" in ein anderes file gespeichert.
wobei ich da wlh in dem fall auch die sprintf() funktion nützen kann... oder?
sprintf() wird hier nichts nutzen. fgets in Verbindung mit fprintf ist schon das Richtige.
-
öhm wenn ich den scanf() durch den fgets() ersetzte meint bekomm ich n error...
Can nit convert char[100] to int
...
schonma danke für die hilfe
-
Die Funktion erwartet ja auch andere Parameter:
char *fgets( char *string, int n, FILE *stream );
string: Storage location for data
n: Maximum number of characters to read
stream: Pointer to FILE structure
-
öhm das ist mir jetzt zu hoch Oo
aso ich meine was ich jetzt wo einsezten muss
-
also ich hab keinen error mehr.... aber ich kann nix eingeben
fgets(text,100,ptr);
-
öhm ne ganz andere frage. mach das mit dem fgets später....
also hier mal der code:
//Bibliotheken einbinden #include <stdio.h> //Einlesen der Bibliothek stdio.h #include <conio.h> //Einlesen der bibliothek conio.h //Programm anfang main() { clrscr(); //Bildschirm Löschen //vatiabeln setzen char text[100]; //Variabeln erstellen.... char datei[100]; int c; int nr; char y; FILE *ptr; nr=1; //....Variabeln erstellen. while (nr<10) //While schlaufe beginnen { sprintf(datei,"c:\\schule\\test%d.txt",nr); //String zusammensetzen ptr = fopen(datei,"w"); //Datei mit zusammengesetztem Namen öffnen if (0 == ptr) printf("FEHLGESCHLAGEN\n"); //Überprüfung des Dateistreams else printf ("Datei erfolgreich geoefnet!\n"); //Überprüfung des dateistreams printf("Geben sie bitte den Text ein.\n"); //Eingabeaufforderung scanf("%s",&text); //Texteingabe fprintf (ptr, "%s",text); //Schreiben der Datei if (0 == ptr) printf ("Datei konnte nicht geschrieben werden!!!\n\n"); //Überprüfung des Dateistreams else printf("Datei erfolgreich geschrieben!\n\n"); //Überprüfung des Dateistreams nr++; printf("Wollen sie eine weitere Datei erstellen? (Y=Yes N=No"); //Eingabeaufforderung Y oder N scanf("%d",&y); if ((y!=y) && (y!=n)) printf("Sie haben weder Y noch N eingegeben!"); //Eingabeverarbeitung return 0; } printf ("Alle Dateien wurden erstellt!\n"); getch(); //Auf Taste warten return 0; }
wie ihr wohl seht will ich eine if abfrage machen die die variabel y abfragen.
nun ob soi true oder false is is ja einfach, aber wie kann ich sie mit einem buchstaben vergleichen?und ist es möglich das wenn ich weder Y noch N eingebe, dass ich dann auf folgende zeile zurück springe....
printf("Wollen sie eine weitere Datei erstellen? (Y=Yes N=No");
oder wenn ich n drücke dass ich dann das prog beende bzw zum letzten getch() springe?
zurückgesprungen wird?
-
while(nr<=10) { int cnt=false; //... while(!cnt) { char ans; printf("Nochmal?\n"); scanf("%c",&ans); switch(ans) { case 'y':case 'Y':cnt=true;break;//verlässt Frageschleife case 'n':case 'N':nr=11;cnt=true;break;//verlässt beide Schleifen default:continue;//zurück zur Frage } } }
-
hab jetzt anders gelöst...
jetzt muss ich nur noch scanf ersetzen dann is es ok
//Bibliotheken einbinden #include <stdio.h> //Einlesen der Bibliothek stdio.h #include <conio.h> //Einlesen der bibliothek conio.h //Programm anfang main() { clrscr(); //Bildschirm Löschen //vatiabeln setzen char text[100]; //Variabeln erstellen.... char datei[100]; int c; int nr; char y; char esc; FILE *ptr; nr=1; y='y'; //....Variabeln erstellen. do //While schlaufe beginnen { sprintf(datei,"c:\\schule\\version%d.txt",nr); //String zusammensetzen ptr = fopen(datei,"w"); //Datei mit zusammengesetztem Namen öffnen if (0 == ptr) { printf("Die Datei konnte nicht erstellt werden.\nDas program wird beendet\n"); break; } else printf ("Datei erfolgreich geoefnet!\n"); //Überprüfung des dateistreams printf("Geben sie bitte den Text ein.\n"); //Eingabeaufforderung scanf("%s",&text); //Texteingabe fprintf (ptr, "%s",text); //Schreiben der Datei if (0 == ptr) { printf ("Datei konnte nicht geschrieben werden!!!\n\n"); printf ("Drücken \"N\" zum neustarten, oder \"B\" zum beenden des Programms."); esc=getch(); if ((esc=='b') || (esc=='B')) break; } else printf("Datei erfolgreich geschrieben!\n\n"); //Überprüfung des Dateistreams fclose (ptr); nr++; do { printf("Wollen sie eine weitere Datei erstellen? \(Y=Yes N=No\)\n\n"); //Eingabeaufforderung Y oder N y=getch(); if ((y!='y') && (y!='n') && (y!='Y') && (y!='N')) printf("Sie haben weder Y noch N eingegeben!\n\n"); //Eingabeverarbeitung } while ((y!='y') && (y!='n') && (y!='N') && (y!='Y')); } while ((y=='y') || (y=='Y')); printf ("Alle Dateien wurden erstellt!\nDas Programm wird beendet!"); getch(); //Auf Taste warten return 0; }
-
Hey.. du hast eh keine Ahnung.. such dir ne Brücke und fertig!