Где Visual Studio ищет текстовые файлы при выполнении операций управления файлами? - PullRequest
9 голосов
/ 19 сентября 2009

Я знаю, что это вопрос noob, но я работал с Python раньше, и когда вы хотели, например, просто получить доступ к TXT-файлу, все, что вам нужно было сделать, это убедиться, что TXT-файл находится в том же каталоге. У меня есть следующий код C ++ ниже, но он не находит файл Numbers.txt, который я сохранил на своем рабочем столе. Все, что у меня есть в файле, это одна строка чисел типа double. Все, что я хочу сделать, это найти среднее из всех чисел в файле. Программа работает нормально, но не выводит вывод правильно. После проверки того, что выводится на печать с помощью простого вывода output [0], я обнаружил, что файл не копирует свое содержимое в массив. Может кто-нибудь решить эту маленькую проблему для меня или, по крайней мере, указать мне правильное направление к хорошему учебнику?

int main() {
    cout << "Getting File Information..." << endl;
    ifstream file;
    char output[100];
    //int x;

    file.open("Numbers.txt", ios::in);    // open file

    cout << "Opened File Successfully ****************" << endl;
    file >> output;              // empty file contents into output
    cout << output;              // print out contents of file
    cout << "Should have printed out results by now" << endl;
    //file >> x;

    file.close();

    return 0;
}

Ответы [ 4 ]

7 голосов
/ 19 сентября 2009

Visual Studio устанавливает рабочий каталог YourProjectDirectory \ Debug \ Bin при работе в режиме отладки. Если ваш текстовый файл находится в YourProjectDirectory, вам необходимо учесть эту разницу.

Самый простой способ сделать это - включить ваши текстовые файлы в проект и установить для их действия по сборке (в окне «Свойства») значение «Содержимое».

4 голосов
/ 20 марта 2013

У меня была такая же проблема, и я не нашел ни одного из этих ответов для работы. Потом я вспомнил то, что узнал давным-давно в ООП. Что вам нужно сделать, это взять этот текстовый файл на рабочем столе, найти папку проекта в проектах Visual Studio в документах вашего компьютера и поместить текстовый файл в эту папку за пределами Visual Studio. Затем в Visual Studio в разделе исходные файлы щелкните правой кнопкой мыши -> добавить существующий элемент -> (ваш текстовый файл)

:)

Кстати, я натолкнулся на эту тему, потому что эта тема говорила, что это хорошая идея, и я хотел, чтобы она была обновлена ​​ради людей, которые гуглили тот же вопрос. https://meta.stackexchange.com/questions/125965/is-bumping-old-questions-allowed

3 голосов
/ 19 сентября 2009

Если вы говорите о запуске кода в отладчике Visual Studio через F5 или Debug / Start Debugging, вы можете установить рабочий каталог вашей программы через Project / <имя проекта> Properties / Configuration / Debugging / Working directory.

Поместите ваш текстовый файл в каталог где-нибудь и установите Рабочий каталог, чтобы он указывал на этот каталог.

0 голосов
/ 19 сентября 2009

Рабочий путь - каталог проекта.

...