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