我正在使用此代碼,我發現在stackoverflow ..這似乎很適合我的要求。當試圖取消鏈接文件時編譯C++錯誤
#include <stdio.h>
#include <iostream>
#include <string>
#include <map>
#include <conio.h>
int main() {
std::map< std::string, std::string > MyMap;
std::map< std::string, std::string >::iterator MyIterMap;
MyMap["Teste1"] = "map1";
MyMap["Teste2"] = "map2";
MyMap["Teste3"] = "map3";
MyIterMap = MyMap.begin();
while(MyIterMap != MyMap.end()) {
std::string key = (*MyIterMap).first;
std::cout << "Key: " << key << ", Value: " << MyMap[key] <<std::endl;
MyIterMap++;
}
_getch();
return 0;
}
每個循環之後,之前,我試圖取消鏈接的基礎上key
值作爲文件名的文件。例如:
unlink ("/tmp/" + key);
當我嘗試和complie我得到:
In function ‘int main()’:
error: cannot convert ‘std::string {aka std::basic_string<char>}’ to ‘const char*’ for argument ‘1’ to ‘int unlink(const char*)’
可以請一些一個提醒我該怎麼做呢?
謝謝你的時間。
對不起,我已經整理這個..我意識到我做,因爲我讀這回.. – Tom
這解決了它解決它:'unlink((「/ tmp /」+ key).c_str());' – Tom
爲了未來人類的利益,請隨時自己回答這個問題! – Claudiu