РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
485 of 815 menu

Метод replace_filename

Метод replace_filename класса path заменяет имя файла в пути на новое значение. Метод возвращает измененный объект path. В первый параметр мы передаем новое имя файла (или путь), которое следует установить вместо текущего имени. Исходный объект при этом не изменяется.

Важно понимать, что метод заменяет именно последний компонент пути - имя файла. Если путь заканчивается на разделитель, то имя файла считается пустым, и метод просто дописывает новое имя к пути.

Синтаксис

path.replace_filename(new_filename)

Пример

Давайте заменим имя файла в пути "/var/www/index.html" на "style.css":

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/var/www/index.html"; fs::path res = p.replace_filename("style.css"); cout << res << endl; return 0; }

Результат выполнения кода:

"/var/www/style.css"

Пример

Давайте заменим имя файла на путь, содержащий подкаталог. В этом случае имя файла заменится на указанную строку:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "/var/www/index.html"; fs::path res = p.replace_filename("css/style.css"); cout << res << endl; return 0; }

Результат выполнения кода:

"/var/www/css/style.css"

Пример

Давайте посмотрим, как метод работает с относительным путем и как меняется исходный объект. Исходный объект p остается неизменным, так как метод возвращает новую копию:

#include <iostream> #include <filesystem> using namespace std; namespace fs = std::filesystem; int main() { fs::path p = "abcde/index.html"; fs::path res = p.replace_filename("12345.txt"); cout << "res: " << res << endl; cout << "p: " << p << endl; return 0; }

Результат выполнения кода:

"res: abcde/12345.txt" "p: abcde/index.html"

Смотрите также

  • метод filename,
    который возвращает имя файла из пути
  • метод replace_extension,
    который заменяет расширение файла в пути
  • метод remove_filename,
    который удаляет имя файла из пути
  • метод stem,
    который возвращает имя файла без расширения
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить