Fufialk Geschrieben 23. Juli 2007 Geschrieben 23. Juli 2007 Eigentlich steht die Antwort ja schon in diesem , aber irgendwie will das bei mir nicht ganz funktionieren, ich hoffe jemand sieht, wo es hakt. void har_dat(const char *har_daten) { int groesse; long zeit; char filewrite[NAME_LENGTH]; //Name & Pfad der Ausgabedatei char logfile[NAME_LENGTH]; char Jahr[4]; char Woche[5]; char path[32] = "H:\\Messdaten\\Auswertung\\Haribo"; char rohdaten[8] = "Rohdaten"; char verzeichnis[200]; char ext[6] = "Extern"; char fwrite[12];//Dateiname der Eingabedatei (Datum.Dateierweiterung) cout << "\nFolgende Datei wird verarbeitet : " << har_daten; // Berechnung der Größe des Datenfiles struct stat buf; stat(har_daten, &buf); groesse = buf.st_size; // Auslesen des Datums aus dem Datenfile const char* find = strrchr(har_daten, '\\'); strncpy(fwrite,find+1, 8); zeit = strtol(fwrite,0, 16); zeit = zeit - 86400; time_t timer; struct tm *tblock; tblock = localtime(&zeit); chdir(path); sprintf(Jahr,"%4d",tblock->tm_year+1900); chdir(Jahr); sprintf(Woche,"KW_%02d",tblock->tm_yday/7+1); chdir(Woche); mkdir(ext); chdir(Woche); // Zuweisung der Dateinamen für die zu schreibenden Files sprintf(filewrite,"HAR_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); sprintf(partner,"Extern\\HAR_e_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); sprintf(logfile,"HAR_log_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); ..... chdir(Woche); mkdir(rohdaten); chdir(rohdaten); getcwd(verzeichnis, sizeof verzeichnis); MoveFile(har_daten, verzeichnis, true); cout << "\nDie Datei " << har_daten << " wurde in das Verzeichnis " << verzeichnis << " verschoben.";[/PHP] Der Code ist Teil eines Unterprogramms, daß eine Datei ausliest, und Daten daraus speichert, und diese nach Datum ordnet. Nach Abschluß soll dann die Ursprungsdatei nach ähnlichem Muster geordnet werden. Zitieren
Fufialk Geschrieben 24. Juli 2007 Autor Geschrieben 24. Juli 2007 void har_dat(const char *har_daten) { char Jahr[4]; char Woche[5]; char path[32] = "H:\\Messdaten\\Auswertung\\Haribo"; char rohdaten[8] = "Rohdaten"; char verzeichnis[200]; char ext[6] = "Extern"; char fwrite[12];//Dateiname der Eingabedatei (Datum.Dateierweiterung) struct stat buf; // Auslesen des Datums aus dem Datenfile const char* find = strrchr(har_daten, '\\'); strncpy(fwrite,find+1, 8); zeit = strtol(fwrite,0, 16); zeit = zeit - 86400; time_t timer; struct tm *tblock; tblock = localtime(&zeit); chdir(path); sprintf(Jahr,"%4d",tblock->tm_year+1900); chdir(Jahr); sprintf(Woche,"KW_%02d",tblock->tm_yday/7+1); chdir(Woche); mkdir(ext); chdir(Woche); // Zuweisung der Dateinamen für die zu schreibenden Files sprintf(filewrite,"HAR_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); sprintf(partner,"Extern\\HAR_e_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); sprintf(logfile,"HAR_log_%02d%02d%04d.txt ",tblock->tm_mday,tblock->tm_mon+1,tblock->tm_year+1900); ..... chdir(Woche); mkdir(rohdaten); chdir(rohdaten); getcwd(verzeichnis, sizeof verzeichnis); MoveFile(har_daten, verzeichnis, true); cout << "\nDie Datei " << har_daten << " wurde in das Verzeichnis " << verzeichnis << " verschoben.";[/PHP] Das Problem ist: [color=red]MoveFile[/color] erfordert als Parameter einen Dateinamen inklusive Pfad. Die Variable [color=red]verzeichnis[/color] übergibt jedoch nur einen Dateipfad. Danke. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.