Удаление файла в с ++ - PullRequest
       3

Удаление файла в с ++

2 голосов
/ 26 января 2012

Я хочу удалить файл, путь которого хранится в объекте std::string.Я знаю remove() в <cstdio>, но он принимает const char * в качестве аргумента.Так есть ли прямой метод удаления файла, например, функция, которая принимает строковый объект в качестве входных данных?

Ответы [ 4 ]

8 голосов
/ 26 января 2012

Как насчет:

string fileName;
//...
remove(fileName.c_str());

Конечно, вы всегда можете определить

int remove(std::string const& fileName)
{
    return remove(fileName.c_str());
} 
2 голосов
/ 26 января 2012

std::string имеет метод с именем c_str(), который возвращает const char * из std::string. Используйте это!

2 голосов
/ 26 января 2012

Объект std::string предоставит вам представление const char* с помощью метода c_str():

std::string filename = ...
remove(filename.c_str());
1 голос
/ 26 января 2012

Вы можете использовать метод c_str ():

std::string somePath( "/lib/" );
remove( somePath.c_str() );
...