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

时间:2015-04-16 09:56:44

标签: c++ openframeworks

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

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

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

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:1)

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

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

文档:ofToString

答案 2 :(得分:1)

我发现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);