Где разместить файл для чтения? - PullRequest
4 голосов
/ 23 июня 2010

Эй, где я могу разместить текстовый файл, который я пытаюсь прочитать, используя fstream? В этом уроке http://www.gamedev.net/reference/articles/article1127.asp, они говорят

ifstream fin ("input.txt");

где будет находиться "input.txt"? Прежде чем попытаться указать путь к файлу, выполните следующее: «C: \ Users \ XXXXXXX \ Documents \ test.in». Однако это, похоже, не работает, Неправильный ввод данных с помощью fstream .

Я использую CodeBlocks.

Заранее спасибо.

Ответы [ 4 ]

4 голосов
/ 23 июня 2010

input.txt должен находиться в рабочем каталоге. Обычно рабочим каталогом является каталог, содержащий исполняемый файл. В случае Visual Studio рабочий каталог при запуске в отладчике может быть установлен в параметрах отладки.

1 голос
/ 23 июня 2010

Это зависит от вашей системы, но в большинстве случаев, если вы откроете файл с относительным путем, он найдет файл относительно рабочего каталога процесса (т.е. относительно места, из которого вы запустили программу). ).

Итак, если вы просто попытаетесь открыть файл «input.txt», он, скорее всего, будет искать в каталоге, из которого вы запустили программу.

0 голосов
/ 10 июня 2013

если вы все еще заинтересованы в Code :: Blocks, вам нужно изменить Target Properties, перейти к Project -> Properties -> Build targets и изменить Executing Working Dir для папки отладки / выпуска вашего проекта

0 голосов
/ 23 июня 2010

Я бы все же сказал указать путь вместо того, чтобы полагаться на текущий рабочий каталог (хотя по какой-то причине он не работал у вас раньше).

Попробуйте это: ifstream fin ("C: /MyDir1/MyDir2/input.txt");

или что: ifstream fin ("C: \ MyDir1 \ MyDir2 \ input.txt");

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

...