ďťż

Ładny brzuch

Witam! Chcę napisać program który umieszczony w pewnym folderze wyszuka w nim pliki zaczynające się na "DSC0" i zamieni ich nazwy na "DSC1". Sam byłem w stanie napisać nie do końca to co chciałem ponieważ program dodawałby jedynke po znaku C. Oto kod:
#include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { HANDLE hFile; WIN32_FIND_DATA wfd; char* old_filename; char* new_filename; hFile = FindFirstFile("C:\\Documents and Settings\\Administrator\\Moje dokumenty\\c++\\dev\\wyszuk\\DSC0*.jpg",&wfd); old_filename = wfd.cFileName; new_filename = wfd.cFileName; new_filename[4]='1'; if(rename(old_filename,new_filename)==0) cout << "ok" << endl; else cout <<"blad" << endl; system("PAUSE"); return EXIT_SUCCESS; }
Jednak nawet ten program nie działa poprawnie, ponieważ nazwa nie jest zmieniana! Jak rozwiązać ten problem? Widziałem gdzieś rozwiązanie ze zmienną CString, jednak te nie działają mi w DevC++ (4.9.9.2), pomimo że dodałem odpowiednią bibliotekę. Czy jest jakaś możliwość aby używać CString w devie? I mam jeszcze jedno pytanie. Pobrałem wcześniej ścieżkę w jakiej znajdował się program, i chciałem do niej dodać samą nazwę pliku:
GetCurrentDirectory(MAX_PATH, ProgramPath); hFile = FindFirstFile(ProgramPath+"\\DSC0*.jpg",&wfd);
Niestety tutaj kompilator wyrzuca błędy. Co robię nie tak? Proszę o pomoc, to ważne.



#include <cstdlib> #include <iostream> #include <windows.h> using namespace std; int main(int argc, char *argv[]) { HANDLE hFile; WIN32_FIND_DATA wfd; char old_filename[MAX_PATH]; char new_filename[MAX_PATH]; char ProgramPath[MAX_PATH]; GetCurrentDirectory(MAX_PATH, ProgramPath); hFile = FindFirstFile(strcat(ProgramPath,"\\DSC0*.txt"),&wfd); // trochę bez sensu to pobieranie ścieżki... FindFirstFile szuka domyślnie tego pliku w katalogu z programem // czyli zamiast tych trzech powyższych linii wystarczy: // hFile = FindFirstFile("DSC0*.txt",&wfd); strcpy(old_filename,wfd.cFileName); strcpy(new_filename,wfd.cFileName); new_filename[4]='9'; if(rename(old_filename,new_filename)==0) cout << "ok" << endl; else cout <<"blad" << endl; system("PAUSE"); return EXIT_SUCCESS; }

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • zsf.htw.pl
  •