c++ - 连接字符串和数字

标签 c++ concatenation

<分区>

我有一个接受const char* 参数的函数。我需要连接两个字符串文字和一个 int 以传递给这个参数。基本上这就是我想要做的:

open(const char* filename) {}

void loadFile(int fileID)
{
    open("file" + fileID + ".xml");
}

int main()
{
    loadFile(1);
    return 0;
}

我怎样才能使这项工作尽可能简单?我尝试更改 loadFile 函数以采用 const char* 然后执行 open(std::string("file").c_str() + fileID + std::string(". xml").c_str()); 但随后我得到了 错误:无效的操作数类型 'const char*' 和 'const char*' 到二进制 'operator+' 所以我迷路了。

最佳答案

你需要使用类似的东西:

std::ostringstream os;
os << "file" << fileID << ".xml";
open(os.str().c_str());

关于c++ - 连接字符串和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20035886/

相关文章:

r - 在 R 中以可变长度、嵌套 URL 下载多个文件

c - 如何在C中合并2个不同的无符号整数

python - 减少n维numpy数组维数的有效方法

java - 连接到java中列表中的最后一个元素

c++ - 进程中 0 到 255 之间的唯一编号

c++ - Qt - 2 类中的信号和槽

c++ - 全局变量是否意味着更快的代码?

c++ - 静态线程函数访问 C++ 中的非静态类成员

c++ - 在哪里可以找到外部变量的定义?

python - 以特定方式多次连接两个矩阵