gpt4 book ai didi

C++ 错误 : cannot convert ‘std::basic_string’ to ‘const char*’

转载 作者:太空宇宙 更新时间:2023-11-03 10:25:59 24 4
gpt4 key购买 nike

我正在使用一个函数来下载一个文件。

void downloadFile(const char* url, const char* fname) {
//..
}

这叫做:

downloadFile("http://servera.com/file.txt", "/user/tmp/file.txt");

这工作正常。

但我想将 URL 更改为数组中的值。该数组存储加密值,解密后是字符串,所以我得到了问题 error: cannot convert ‘std::basic_string<char>’ to ‘const char*’

我试过:

 string test = decode(foo[5]);
const char* t1= test.c_str();
downloadFile(t1 "filename.txt", "/user/tmp/file.txt");

downloadFile(t1 + "filename.txt", "/user/tmp/file.txt");

downloadFile((decode(foo[5]).c_str()) + "filename.txt", "/user/tmp/file.txt");

给出: error: invalid operands of types ‘const char*’ and ‘const char [17]’ to binary ‘operator+’

我做错了什么?

谢谢

最佳答案

C 字符串不能与 + 连接。

改用std::string::+:

downloadFile((test + "filename.txt").c_str(), "/user/tmp/file.txt");

请注意,c_str 仅返回指向 std::string 的内部字符数组的指针,因此它仅在 downloadFile< 执行期间有效 函数。

关于C++ 错误 : cannot convert ‘std::basic_string<char>’ to ‘const char*’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35318779/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com