Где Visual Studio выполняет поиск текстовых файлов при выполнении операций управления файлами?
-
22-07-2019 - |
Вопрос
Я знаю, что это вопрос новичка, но я раньше работал с 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 / < Имя проекта > Свойства / Конфигурация / Отладка / Рабочий каталог.
Поместите свой текстовый файл в каталог где-нибудь и установите Рабочий каталог, чтобы он указывал на этот каталог.
Рабочий путь - это каталог проекта.