![](/img/trans.png)
[英]No suitable conversion function from std string to const char * exists
[英]No suitable conversion function from “std::string” to “const char *” exists
我正在嘗試刪除.txt
文件,但文件名存儲在std::string
類型的變量中。 問題是,程序事先不知道文件的名稱,所以我不能只使用remove("filename.txt");
string fileName2 = "loInt" + fileNumber + ".txt";
基本上我想做的是:
remove(fileName2);
但是,它告訴我我不能使用它,因為它給了我錯誤:
不存在從“std::string”到“const char *”的合適轉換函數。
remove(fileName2.c_str());
會做的伎倆。
std::string
的c_str()
成員函數為您提供了可以使用的字符串的const char *
C 樣式版本。
您需要將其更改為:
remove(fileName2.c_str());
c_str()
將字符串作為const char *
類型返回。
當您需要將std::string
轉換為const char*
您可以使用c_str()
方法。
std::string s = "filename";
remove(s.c_str());
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.