Ach*_*kon 0 c++ printf qt opencv imread
我正在使用visual studio 10,qt addin和opecv library.
我想要做的是使用for循环加载多个文件:
(我有ui.image_templates_comboBox-> currentText()="cat")
for (int i = 1; i <= 15; i++){
string currentText = ui.image_templates_comboBox->currentText().toStdString();
char name[40];
sprintf(name, "Logos/cat/%s_%d.tif", ¤tText, i);
templ_img [i] = cv::imread( name );
Run Code Online (Sandbox Code Playgroud)
所以,我认为这应该工作正常,但是当我调试它时,我将鼠标悬停在"name"上方,我注意到currentText值之前有4个非英文字符.
我问了两个问题:
a)怎么可能省略那4个无用的字符?(我将它们键入为"1234",因为此站点无法显示它们)
b)可以使用imread()中的表达式将这4行折叠为1吗?
您不能使用的地址std::string,其中一个const char*预期.他们不一样.
sprintf(name, "Logos/cat/%s_%d.tif", currentText.c_str(), i);
Run Code Online (Sandbox Code Playgroud)