在c ++中删除文件

时间:2012-01-26 14:16:08

标签: c++ file delete-file

我想删除路径存储在std::string对象中的文件。 我知道remove()中的<cstdio>,但它需要const char *作为参数。 那么有没有直接删除文件的方法,比如将字符串对象作为输入的函数?

4 个答案:

答案 0 :(得分:8)

怎么样:

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

当然,您可以随时定义

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

答案 1 :(得分:2)

std::string对象将通过const char*方法为您提供c_str()代表:

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

答案 2 :(得分:2)

std::string有一个名为c_str()的方法会返回const char *的{​​{1}}。利用它!

答案 3 :(得分:1)

您可以使用c_str()方法:

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