2012-01-26 76 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()方法將返回std::stringconst char *。利用它!