[C++] Listowanie zawartości katalogu - FindFirstFile pomija jeden plik
Ostatnio zmodyfikowano 2013-10-08 23:15
adi456 Temat założony przez niniejszego użytkownika |
[C++] Listowanie zawartości katalogu - FindFirstFile pomija jeden plik » 2013-10-03 13:25:24 Witam, mam problem z listingiem plików, 1 plik txt zawsze pomija i 1 plik txt zawsze nadpisuje przy sprawdzaniu czy istnieje string sciezka = "C:\\Program Files\\Nokia\\Phoenix\\_!_LOG\\"; string szukaj_plikow = sciezka + "*.txt";
HANDLE hfile = FindFirstFile( TEXT( szukaj_plikow.c_str() ), & File_Data ); while( FindNextFile( hfile, & File_Data ) ) { string file = File_Data.cFileName; string sciezka_open = sciezka + file; HINTERNET hTransfer = FtpOpenFile( IntFTP, file.c_str(), GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, 0 ); if( !hTransfer ) { cout << "brak pliku na ftp " << file << "\n"; if( FtpPutFile( IntFTP, sciezka_open.c_str(), file.c_str(), INTERNET_FLAG_TRANSFER_BINARY, FALSE ) ) { cout << "Plik zapisany." << file << "\n\n"; } else { cout << "Nie mozna wyslac pliku " << file << "\n\n"; } } else { cout << "plik juz istnieje " << file << "\n\n"; }; InternetCloseHandle( hTransfer ); } FindClose( hfile );
dodałem przed pętlą i wczytuje 1 plik tylko dalej nie wiem dlaczego przy sprawdzaniu plików na ftp cały czas nadpisuje 1 plik FindFirstFile( TEXT( szukaj_plikow.c_str() ), & File_Data ); string file = File_Data.cFileName; string sciezka_open = sciezka + file; HINTERNET hTransfer = FtpOpenFile( IntFTP, file.c_str(), GENERIC_READ, FTP_TRANSFER_TYPE_BINARY, 0 ); if( !hTransfer ) { cout << "brak pliku na ftp " << file << "\n"; if( FtpPutFile( IntFTP, sciezka_open.c_str(), file.c_str(), INTERNET_FLAG_TRANSFER_BINARY, FALSE ) ) { cout << "Plik zapisany." << file << "\n\n"; } else { cout << "Nie mozna wyslac pliku " << file << "\n\n"; } } else { cout << "plik juz istnieje " << file << "\n\n"; }; InternetCloseHandle( hTransfer ); |
|
DejaVu |
» 2013-10-08 23:15:32 Działa zgodnie z tym co zaprogramowałeś. http://vcpptips.wordpress.com/tag/findfirstfile/Popatrz sobie jak poprawnie używać FindFirstFile/FindNextFile. FindFirstFile zwraca Ci pierwszy plik, FindNextFile przechodzi już do kolejnego pliku, gubiąc ten, który otrzymałeś z FindFirstFile. |
|
« 1 » |