簡體   English   中英

不存在從“std::string”到“const char *”的合適轉換函數

[英]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::stringc_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM