我必须制作一个文件名由两部分组成的程序:第一个是固定的,第二个可以在程序期间更改,例如“fixpart_integer.dat”。我试图在 C++ 中做到这一点,但我没有成功。第一个问题是:如何将数字转换为字符;以及如何连接这两个字符;以及如何以正确的方式声明这个最终字符以打开这个文件名?
很多问题,但我确实找到了一个简单的方法来做到这一点。
我必须制作一个文件名由两部分组成的程序:第一个是固定的,第二个可以在程序期间更改,例如“fixpart_integer.dat”。我试图在 C++ 中做到这一点,但我没有成功。第一个问题是:如何将数字转换为字符;以及如何连接这两个字符;以及如何以正确的方式声明这个最终字符以打开这个文件名?
很多问题,但我确实找到了一个简单的方法来做到这一点。
#include <string>
#include <sstream>
std::string make_filename(std::string prefix, int id) {
std::stringstream ss;
ss << prefix << "_" << id << ".dat";
return ss.str();
}
然后我将字符串转换为char。
如果您正在使用 c,您可以尝试这里itoa中描述的功能
否则,如果你正在使用 c++,你可以尝试这样的事情:
#include <sstream>
int i = 5;
std::string s;
std::stringstream out;
out << i;
s = out.str();