如何在 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);
我是 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);