2012-01-26 3 views
2

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

ответ

8

Как насчет:

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

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

int remove(std::string const& fileName) 
{ 
    return remove(fileName.c_str()); 
} 
2

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

std::string filename = ... 
remove(filename.c_str()); 
1

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

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

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

Смежные вопросы