000
13.07.2006, 10:34 Uhr
stylewarz3
|
Danke für die hilfreichen Tipps an dieser Stelle.
Hätte da jetzt aber ein neues Problem. Und zwar möchte ich jetzt die Dateien mit dem identischen Dateinamen bis zur 8. Stelle öffnen, kann aber ja nicht das Array dafür öffnen. Demnach brauche ich wahrscheinlich einen Zeiger nur wo, und wie positioniere ich diesen? Oder gibt es eine andere Möglichkeit?
Vielen Dank im Voraus!
C++: |
#include <windows.h> #include <stdio.h> #include <iostream> #include <string>
using namespace std;
int main() {
string arr[100]; string array_name[100]; string array_endung[100]; int i=0;
cout << "\n" "------------------------------------------------------------------\n" "Trainingsprojekt C++ / Von Michael Moessinger / Version 1.0\n" "------------------------------------------------------------------\n" "\n" "Nach der Eingabe von Enter wird der DFUE-Eingang durchsucht.......\n"; fflush(stdin); getchar();
HANDLE fHandle; WIN32_FIND_DATA wfd;
fHandle=FindFirstFile("O:\\Daten\\Trainingsprojekt_C++\\dfue_eingang\\*",&wfd);
do { if (!( (wfd.cFileName[0]=='.') && ( (wfd.cFileName[1]=='.' && wfd.cFileName[2]==0) || wfd.cFileName[1]==0 ) )) {
// Einlesen bis zur 8. Stelle des Dateinamens
arr[i]=wfd.cFileName; string FileName = arr[i].substr(0,8); i++; } }
while (FindNextFile(fHandle,&wfd));
for (int x = 0; x < i; x++) { // durchlaufe alle bisherigen Werte for (int j=0; j<i; j++) { array_name[x]=arr[x].substr(0,8); array_endung[x]=arr[x].substr(8,11); array_name[j]=arr[j].substr(0,8); array_endung[j]=arr[j].substr(8,11); if (arr[j]==array_name[x]) { // Hier wurde ein doppelter Name entdeckt if (array_endung[x]!=array_endung[j]) { cout << arr[j] << " und " << arr[x]<< " wurden erfolgreich ermittelt!" << endl; } } } }
FindClose(fHandle);
cout << "\n" "Nach der Eingabe von Enter startet die Datensatzpruefung.........."; fflush(stdin); getchar();
cout << "\n" "------------------------------------------------------------------\n" "> Korrekte Datensaetze befinden sich im Verzeichnis 'dfue-ausgang'\n" "> Fehlerhafte Datensaetze befinden sich im Verzeichnis 'fehler'\n" "> Protokolldaten befinden sich im Verzeichnis 'protokoll'\n" "------------------------------------------------------------------\n" "\n" "*** Die Datenpruefung ist nun abgeschlossen ***\n" "\n" "Mit der Eingabe von Enter beenden Sie das Programm................"; fflush(stdin); getchar();
return 0; }
|
Dieser Post wurde am 13.07.2006 um 11:22 Uhr von FloSoft editiert. |