ERLEDIGT
NEIN
NEIN
ANTWORTEN
32
32
ZUGRIFFE
676
676
EMPFEHLEN
-
Guten Morgen ihr Programmier meister

Mein Titel erklärt mein Problem jetzt nicht wirklich, mir ist aber kein besserer Titel eingefallen
Meine Frage ist folgendes. Ich gebe mal ein Beispiel.
Wir haben ein Programm das uns eine Logdatei ausließt diese verändert und wieder abspeichert.
Meine Frage ist jetzt.
Ist es möglich das der Name der Datei nicht fest im Quellcode gegeben ist, sondern der User einen Namen angeben kann wie die Datei heißen soll?
Zum Beispiel acces%heutigesDatum%.log oder so
Mit freundlichen Grüßen
Paper
-
Hi
natürlich ist das möglich.
Welche Programmart ist es denn (Konsole?)
Und seoll der Benutzer wirklich "%heutigesDatum%" oÄ. eingeben,
dass dann durch das echte Datum ersetzt wird,
oder war das jetzt nur im Forum als Platzhalter gedacht?Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Hallo sheel,
Ja genau es ist in einer Konsole
%heutigesDatum% war als PLatzhalter gedacht, hab es doof erklärt.
Das die Eingabe z.B "Acces" ist und das heutige Datum wird halt automatisch dahinter gehangen für jeden Tag wo es gespeichert wird.
-
Ah, Moment.
Ich glaub, hab was falsch verstanden.
Du willst keinen Log erstellen, sondern eine vorhandene Datei auslesen?
Bzw. mehrere alte Dateien von verschiedenen Zeitpunkten?
In welchem Format ist denn das Datum?
Für 01.01.2000 "Acces01012000.log", oder ist da auch eine Uhrzeit dabei,
oder das Jahr zuerst, oder...?
Ist es für die erarbeitung wichtig, wann die Logdatei erstellt wurde,
oder ist das im Prinzip nur zum Datei-unterscheiden?Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Hallo,
also ich würde es durch <string.h> und/oder <string> realisieren.
Die Uhrzeit dürftest du durch <time.h> bekommen, wenn nicht schon vorhanden.Was soll daran kompliziert sein? Es muss doch nur ein Rad bewegt werden, man kann aufsteigen, es kommt die Matschhütte und durch den Regenbogen gelangst du zum hungrigen Affen, der Affenschwanz wird gezogen und bums kommst du zum Paradispark.
-
Also ich habe ein Programm das einen Squid ausliesst nenn wir den "Squid1". Den Unix Timestamp der da drin steht den Wandelt er in ein Datum + Uhrzeit um. Soweit funktioniert es auch. Und diese Umwandlung schreibt er nochmal in eine andere txt Datei. Ich hab es aber nur so das es im Quellcode angegeben ist wie die Datei heißt. Ich zeige euch mal den Code.
Code c:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
//Festlegen des Pfades für die Output-Datei FILE *fileOutput; fileOutput = fopen("SquidNEU.log", "w"); //Überprüfung, ob Datei vorhanden ist if(NULL == fileOutput) { fprintf(stderr, "Fehler beim Oeffnen ...\n"); return EXIT_FAILURE; } //Festlegen des Pfades für die Input-Datei FILE *fileInput; fileInput = fopen("squid123.log", "r"); //Überprüfung, ob Datei vorhanden ist if(NULL == fileInput) { fprintf(stderr, "Fehler beim Oeffnen ...\n"); return EXIT_FAILURE;
und wie man sieht, bei der Output und Input Datei ist der Name fest angegeben. Meine frage halt ob es möglich ist dort den Namen Variabel zu machen=)
Ja genau so kann man es machen wie du geschrieben hast "Access0101200.log" hauptsache das noch das Datum dabei steht
Hmm..Nur ich weiß halt nicht wie ich es so hinkriege das es im Dateinamen steht..
Geändert von Paper (24.11.11 um 10:42 Uhr)
-
Zuerst liest du mit gets das Wunsch-Präfix in ein zB. "char prefix[1024]" ein.
Kopier das mit strcpy in einen zweiten String (hier format)
und häng mit strcat "%8d.log" an format an.
Such mit FindFisrFile bzw. FindNextFile das ganze Verzeichnis durch.
Auf jeden Dateinamen machst du ein
wobei datum ein int ist.Code cpp:1
sscanf(...dateiname..., format, &datum)
Wenn der Returnwert von sscanf 1 ist,
hast du eine passende Logdatei.
Verarbeiten.
Den neuen Dateinamen für die Ausgabedatei bekommst du mit
in einen String x.Code cpp:1
sprintf(x, "%s%8dNeu.log", prefix, datum);
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
hmm ich weiß zwar was du meinst..aber mit der umsetzung klappts i.wie nicht...habe nicht wirklich 'ne Ahnung wie ich das da rein bringen soll :/
-
Warum zeigst du dann nicht deinen Versuch?
Netiquette (vA §15) und Nutzungsregeln (vA §4.8) einhalten! Programmcode in Codetags/Codeboxen.
Sehr gute Beiträge bitte Bewerten (Stern darunter oder "Danke").
"Funktioniert nicht" ist zu ungenau! Code, Fehlermeldungen, Verhalten des Programms, ...?
-
Code c:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
int logConvert() { //Wunsch-Präfix char namee[1024]; char format; //string kopieren strcpy (format, namee); strcat (format, "%8"); //Zwischenspeicher fürs Einlesen char puffer[256]; int line= sizeof(puffer); //Trennzeichen char del[]="\n"; //Zählvariabeln int i =0; //Festlegen des Pfades für die Input-Datei FILE *fileOutput; fileOutput = fopen("SquidNEU.log", "w"); //Überprüfung, ob Datei vorhanden ist if(NULL == fileOutput) { fprintf(stderr, "Fehler beim Oeffnen ...\n"); return EXIT_FAILURE; } //Festlegen des Pfades für die Output-Datei FILE *fileInput; fileInput = fopen("squid123.log", "r"); //Überprüfung, ob Datei vorhanden ist if(NULL == fileInput) { fprintf(stderr, "Fehler beim Oeffnen ...\n"); return EXIT_FAILURE; } //solange Zeilen vorhanden sind wird eingelesen while(fgets (puffer, line, fileInput)) { /// neue Zeilen int len; int uxtime; if (sscanf(puffer, "%d.%*d%n", &uxtime, &len) >= 1) { fprintf(fileOutput, "%s %s", Unix2Date(uxtime, 1), puffer + len); } //// } //Schließen der Dateien fclose(fileInput); fclose(fileOutput); }
habs nochmal versucht alles schritt für schritt und folgende Meldung bekomme ich
213 [Warning] passing arg 1 of `strcpy' makes pointer from integer without a cast
214 [Warning] passing arg 1 of `strcat' makes pointer from integer without a castGeändert von Paper (25.11.11 um 10:01 Uhr)
-
Hey Sorry konnte die Tage nicht
aber jetzt wieder 
aufjedenfall hab ich was neues versucht grade
Code c:
dann meckert der das format nicht deklariert ist. Ist es nicht so das der nicht deklariert sein muss weil der Inhalt von prefix in format kopiert wird? oder versteh ich da i.was falsch?
-
29.11.11 14:50 #12
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
Hi.
Alle Variablen die du verwendest müssen deklariert sein.
GrußIf at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Achso ich hatte i.wo mal aufgeschnappt dases bei strcpy und irgendwelchen anderen Befehlen nicht nötig wäre. Wenn ich diese Variable deklariere gibt er mir folgende Fehlermeldung aus.
[Warning] passing arg 2 of `strcpy' makes pointer from integer without a cast
[Warning] passing arg 1 of `strcat' makes pointer from integer without a cast
Ich habe nur keine Ahnung wie ich das beheben kann
Ich glaub ich weiß noch nichtmal wirklich was die meldung von mir will
was für ein integer?
seh da keins :S
-
29.11.11 14:55 #14
- Registriert seit
- Jun 2005
- Beiträge
- 8.168
If at first you don't succeed, try again. Then quit. No use being a damn fool about it.
-
Ähnliche Themen
-
Kunden Templates aussuchen lassen?
Von Necro_nomicon im Forum Content Management Systeme (CMS)Antworten: 2Letzter Beitrag: 18.03.10, 10:19 -
Datenbank anstatt nach Postleitzahlen aussuchen lassen, mit Platzhalter
Von egreis im Forum PHPAntworten: 4Letzter Beitrag: 28.11.04, 18:40 -
Reguläre Ausdrücke - wie alles zwischen { und } aussuchen?
Von Muffinmampfer im Forum PHPAntworten: 9Letzter Beitrag: 26.04.04, 16:09 -
Aufruf einer Datei aus einer HTML-Datei
Von EagleMo im Forum HTML & XHTMLAntworten: 8Letzter Beitrag: 10.04.04, 23:54 -
Start OS aussuchen !
Von Sebastian im Forum Microsoft WindowsAntworten: 1Letzter Beitrag: 30.05.02, 21:05





Zitieren


Login






