如何在 C++/openFrameworks 中的文件名字符串中使用变量 int

How to use a variable int within a filename string in C++/openFrameworks

我是 C++ 的新手,因为我已经习惯了 Processing,但是对于一个项目,我必须在 C++ 框架 openFrameworks 中做一些事情。每次触发条件时,我都试图加载电影。我生成一个随机数,然后视频播放器应加载包含该数字的电影。像这样:

 else if ( myByte > 130 ){
    float ranNumb = ofRandom(1, 5);
    int rounded = (int)ranNumb;
    cout << rounded << "\n";
    myPlayer.loadMovie("movies/testMovie_", rounded,".mp4");
}

显然最后一行在 C++/OpenFrameworks 中不起作用。我习惯于处理,在那里我只会使用“+”运算符将字符串与舍入变量组合起来。我该怎么做?

希望 C++11 可用,这样你就可以:

myPlayer.loadMovie(std::string("movies/testMovie_") + std::to_string(rounded) + ".mp4");

openFrameworks 提供了 ofToString() 函数,可将您的 int 转换为字符串。你可以这样使用它:

myPlayer.loadMovie("movies/testMovie_" + ofToString(rounded) + ".mp4");

文档:ofToString

我觉得 std::stringstream 有用。

std::string pfn; // derived path file name
{
    std::stringstream ss;
    ss << "movies/testMovie_" << rounded;
    pfn = ss.str();
} 
cout << pfn << "\n";
myPlayer.loadMovie(pfn);