2014-01-06 5 views
0

Я работаю на ConsoleApplication в VS 2010 в WIndows 7, я имею метод, который удаляет файл с диска код приведен нижеУдаление файла в C++

bool DeleteRelFile(char * file) 
{ 
    if (remove(file) == 0) 
     return true; 
    else 
     return false; 
} 

Теперь проблема я столкнулся когда я запускаю проект в режиме отладки и передаю путь к указанному выше методу, файл успешно удаляется, но когда я запускаю exe из командной строки, тогда файл, прошедший через этот метод, не удаляется. вам будет оказана помощь

+0

Вы можете показать нам, как весь код? – meWantToLearn

+0

Звучит как материал разрешений, попробуйте запустить EXE как администратор. – Netwave

+1

Ну, действительно, как насчет проверки какой ошибки вы получаете, если есть ... Прочитайте документы для * remove *, чтобы начать с этого. – hyde

ответ

0

проблема заключается в пути к файлу. Если вы просто передадите имя файла, это не сработает, потому что он ожидает, что файл будет находиться в текущем каталоге (где вы используете код); Вы можете пройти абсолютный путь, например, c: \ input.txt, чтобы убедиться, что он работает в обоих направлениях и после этого определяет правильный относительный путь.

Надеюсь, это поможет.

+0

Я сомневаюсь, что это проблема пути, наконец, ваш каталог запуска такой же, как и при отладке через MSVC и запуске exe. –

+0

@Digital_Reality Если он не запускает его в каталоге Debug или Release. – Proxy

Смежные вопросы