Riješeno: dobiti ime datoteke iz putanje

Naravno, hajde da se udubimo u temu dobijanja naziva datoteke iz putanje uz pomoć C++.

Uvod
Izdvajanje imena datoteke iz putanje je čest zadatak u programiranju, posebno u operacijama koje uključuju rukovanje datotekama. Ovaj članak pruža detaljno objašnjenje o tome kako postići ovaj zadatak koristeći C++. Do kraja članka moći ćete razumjeti i implementirati rješenje za ovaj problem.

Rjesenje
Rješenje uključuje korištenje ugrađenih funkcija koje pruža C++ standardna biblioteka. Biblioteka na koju ćemo se fokusirati je biblioteka sistema datoteka, uvedena u C++17. Pruža različite funkcionalnosti za manipulaciju datotekama i direktorijima.

#include
std::string get_filename(std::string path){
return std::filesystem::path(path).filename().string();
}

Razumijevanje Kodeksa
Funkcija get_filename uzima argument string – putanju i vraća ime datoteke. Funkcija koristi biblioteku sistema datoteka. Kreiramo filesystem::path objekat sa navedenim nizom putanje i koristimo metodu filename() da dobijemo ime datoteke. Ime datoteke se zatim konvertuje u string pomoću metode string() i vraća ga funkcija.

  • Prvi red je mjesto gdje uključujemo biblioteku sistema datoteka u naš kod.
  • Funkcija get_filename definirana je putem niza argumenta.
  • Kreiramo filesystem::path objekat sa nizom putanje.
  • Metoda filename se poziva na filesystem::path objektu da dobije ime datoteke.
  • Ime datoteke se zatim konvertuje u string pomoću metode string().

Biblioteka sistema datoteka

Standard C++17 uveo je biblioteku sistema datoteka, koja se sastoji od niza klasa i funkcija koje imaju za cilj izvođenje operacija na putanjama datoteka, datotekama i direktorijumima. Jedna od njegovih klasa – filesystem::path, koristi se u našem rješenju za izdvajanje imena datoteke iz putanje.

Ova biblioteka vam omogućava da izvodite operacije kao što su čitanje, pisanje, preimenovanje datoteka, kreiranje i uklanjanje direktorijuma i tako dalje, pojednostavljujući drastično manipulaciju sistemom datoteka u C++.

alternativne metode

U slučajevima kada biblioteka sistema datoteka nije dostupna, druge metode se mogu koristiti za izdvajanje naziva datoteke iz staze. Jedna alternativa uključuje korištenje funkcija za manipulaciju nizovima dostupnih u biblioteci stringova. Evo primjera:

#include
std::string get_filename_old(std::string path){
std::size_t found = path.find_last_of(“/\”);
povratna staza.substr(pronađen+1);
}

Da sumiramo, izdvajanje imena datoteke iz putanje moguće je pomoću biblioteke sistema datoteka u C++. Bitno je biti upoznat sa funkcionalnostima biblioteke jer rukovanje datotekama preovlađuje u mnogim programskim zadacima.

Slični postovi:

Ostavite komentar