Я использую этот код, который я нашел в 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;
}
После каждого цикла, перед тем MyInterMap++
я пытаюсь разъединить файл, основываясь на значении key
в качестве имени файла. например:
unlink ("/tmp/" + key);
Когда я пробую и Скомпилируйте я получаю:
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