Hmm, kilkanaście, może kilkadziesiąt minut, aby pokapować się, że otwartego pliku usunąć się nie da;) Nooo nieładnie Piątkosia. Idlecode: gdzie tu niby miałby być haczyk?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | #include <iostream> #include <cstdlib> #include <cstdio> #include <fstream> using namespace std; int main( int argc, char * argv[]){ system ( "chcp 1250>NUL" ); if ((argc <2) || (argc > 3)){ cerr<< "\nBłąd wywołania. Spróbuj " <<argv[0]<< " --help" ; system ( "chcp 852>NUL" ); exit (1); //Błąd wywołania } if (argc ==2){ if ((string)argv[1]== "--help" ){ cout<< "Program zmienia nazwę pliku na innš.\n" ; cout<< "Użycie: " <<argv[0]<< " <stara_nazwa> <nowa_nazwa>\n" ; cout<< "Wywietlanie działa poprawnie przy czcionce Lucida console. \n Zmień w razie potrzeby" ; system ( "chcp 852>NUL" ); exit (0); //poprawne zakończenie funkcji przy helpie } cerr<< "\nBłąd wywołania. Spróbuj " <<argv[0]<< " --help" ; system ( "chcp 852>NUL" ); exit (1); //błšd wywołania } //Spróbujemy otworzyć pliki do odczytu, by upewnić się że możemy na nich działać fstream testowy, testowy2; testowy.open(argv[1], ios::in|ios::binary); if (!testowy.good()){ cerr<< "\nNie odnaleziono pliku lub brak dostępu do niego." ; system ( "chcp 852>NULL" ); exit (2); // Nie można pracować z plikiem } testowy.close(); testowy2.open(argv[2], ios::in|ios::binary); if (testowy2){ char a; cout<< "\nPlik docelowy istnieje. Nadpisać? T/N: " ; cin>>a; while (1){ if ( toupper (a) == 'T' ){ testowy2.close(); remove (argv[2]); break ; } else if ( toupper (a) == 'N' ){ cerr<< "\nPlik o podanej nazwie już istnieje. Kończę.\n" ; testowy2.close(); system ( "chcp 852>NUL" ); exit (3); } else { cout<< "\nNadpisać? T/N: " ; cin>>a; continue ; } } //od while 1 } //Mamy obsłużone podstawowe błędy, przejdziemy do sedna; rename (argv[1], argv[2]); } //od main |
Programik nic poza zmianą nazwy nie robi. Ale działa, żeby nie było:)
One Comment
Comments are closed.