繁体   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