2017-05-04 242 views
-4

我想从文件中删除图像,图像名为:“1.jpg,2.jpg ....”,我试过上面的代码,但它给了我这个错误:呼叫没有匹配功能 '去掉(STD :: __ cxx11 :: string的&)'用C++从文件中删除图像

int i; 
for (i=0;i<frame;i++)//frame contain the number of images i want to delete 
{ 
     std::stringstream ss; 
    ss << i; 
    std::string str = ss.str(); 
    const char *cstr = str.c_str(); 
    str=str+".jpg"; 
    remove(str); 
} 

如果有人能帮助谢谢使用前请先。

+0

这是'remove'需要一个'的std :: string记录参考状态'? –

+0

我曾经使用remove(“image.jpg”),它的工作原理 – azertq

+0

“image.jpg”不是'std :: string'。不要做出假设,而是_study_和_read_以获得_facts_。 –

回答

1

你几乎拥有它。 remove需要const char*,而不是std::string。这意味着你需要

remove(str.c_str()); 

我们也可以摆脱stringstream的和使用的东西,而不是std::to_string

for (i=0; i<frame; i++) 
{ 
    const std::string str = to_string(i) + ".jpg"; 
    remove(str.c_str()); 
} 
+0

谢谢你的工作。 – azertq