• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zmiana nazwy pliku - C++

Object Storage Arubacloud
0 głosów
2,329 wizyt
pytanie zadane 31 maja 2016 w C i C++ przez ignacjusz Bywalec (2,390 p.)
edycja 31 maja 2016 przez ignacjusz

Witam, ostatnio pisałem program, który zmienia nazwy plików (konkretnie: np. nazwa.jpg -> nazwa (0).jpg). Wszystko działa poprawnie oprócz przypadku w którym występują polskie znaki. Wtedy program pomija to i idzie dalej. Korzystam z funkcji rename, która wymaga łańcuchów w formacie c, więc muszę przekonwertować string za pomocą c_str(). Czy to coś zmienia. Jeśli będzie potrzebny kod to mogę wkleić.

komentarz 5 czerwca 2016 przez draghan VIP (106,230 p.)

Jeszcze tylko zrozumieć kod i bedzie ok

Jak czegoś nie rozumiesz, to pisz. ;)

I jeszcze takie małe pytanie: Po co wszędzie pisać std:: jeśli mozna using namesace std;?

W ten sposób jawnie określasz pochodzenie danej klasy czy obiektu. Jest to jedna z dobrych praktyk. Aczkolwiek przy jednoplikowym programie nie ma to większego znaczenia.

Widzę, że przez nieuwagę zapomniałem jako argument get_files_in_dir() przesłać referencji do stałej, zamiast kopii... trudno. :P

komentarz 5 czerwca 2016 przez ignacjusz Bywalec (2,390 p.)

WIN32_FIND_DATA
FindFirstFile
push_back
FindNextFile

Wszytkie te funkcje i typy to częśc WINapi?

 

komentarz 5 czerwca 2016 przez draghan VIP (106,230 p.)

Prawie wszystkie. push_back jest metodą std::vector.

komentarz 5 czerwca 2016 przez ignacjusz Bywalec (2,390 p.)
Nie było tego w moim kodzie, bo nigdy nie grzebałem w WinAPI.

Jeszcze raz dzięki :).
komentarz 5 czerwca 2016 przez draghan VIP (106,230 p.)

Kiedy uczyłem się programować, coś liznąłem z WinAPI, ale już nie pamiętam wiele. Najważniejsze, to umieć korzystać z dokumentacji. ;)

Funkcja _wrename(), której użyłeś, jest częścią WinAPI.

Jako ciekawostkę powiem, że w nadchodzącym standardzie C++17 będzie wreszcie dodana obsługa systemu plików. W tej chwili można znaleźć przymiarki, szukając frazy "experimental/filesystem". Tutaj dokumentacja na cppreference. GCC w wersji 6 już udostępnia tę funkcjonalność - niestety nie jest to dostępne w tym kompilatorze, który z moją małą pomocą zainstalowałeś.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 193 wizyt
0 głosów
0 odpowiedzi 329 wizyt
pytanie zadane 19 listopada 2019 w C i C++ przez cupoforanges Początkujący (380 p.)
0 głosów
1 odpowiedź 239 wizyt
pytanie zadane 30 października 2016 w C i C++ przez TheFeniks Gaduła (4,690 p.)

92,579 zapytań

141,429 odpowiedzi

319,657 komentarzy

61,963 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...