Где Visual Studio выполняет поиск текстовых файлов при выполнении операций управления файлами?

StackOverflow https://stackoverflow.com/questions/1447094

Вопрос

Я знаю, что это вопрос новичка, но я раньше работал с 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;
}
Это было полезно?

Решение

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

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

Другие советы

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

:)

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

Если вы говорите о запуске кода в отладчике Visual Studio через F5 или Debug / Start Debugging, вы можете установить рабочий каталог своей программы через Project / < Имя проекта > Свойства / Конфигурация / Отладка / Рабочий каталог.

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top