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

Метод replace_extension

Метод replace_extension класса path заменяет текущее расширение файла в пути на новое. Если у пути не было расширения, оно просто добавляется в конец. Первым параметром метод принимает новое расширение (в виде строки или объекта path). Если параметр не указан, расширение удаляется. Метод изменяет текущий объект path и возвращает ссылку на него.

Синтаксис

path& replace_extension(const path& replacement = path());

Пример

Давайте заменим расширение ".txt" на ".html" в пути к файлу:

#include <iostream> #include <filesystem> using namespace std; using namespace filesystem; int main() { path p = "/var/www/index.txt"; p.replace_extension(".html"); cout << p << endl; return 0; }

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

"/var/www/index.html"

Пример

Если у пути не было расширения, метод добавит его. Давайте добавим ".cpp" к пути без расширения:

#include <iostream> #include <filesystem> using namespace std; using namespace filesystem; int main() { path p = "/home/user/file"; p.replace_extension(".cpp"); cout << p << endl; return 0; }

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

"/home/user/file.cpp"

Пример

Если вызвать метод без параметров, расширение будет удалено из пути:

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

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

"/var/www/index"

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

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