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.
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden