2017-05-04 152 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