При чтении файла в C должен ли файл находиться в той же папке, что и программа?
Нет, нет.
А если так, есть ли способ прочитать файл в другой папке?
Вам необходимо указать путь к файлу - либо абсолютный, либо относительно текущего рабочего каталога. Указанный c формат пути зависит от используемой вами ОС, и его значение, конечно, зависит от структуры вашей файловой системы.
Однако в вашем случае ошибка возникает из-за того, что вы пытаетесь открыть файл этого не существует. Если вы открываете файл для чтения, то есть если вы используете "r"
во втором параметре fopen()
, файл должен существовать до его открытия - он не будет создан системой, как если бы вы использовали "w"
или "a"
. См. Описание функции fopen()
в C стандарт здесь :
r open text file for reading
w truncate to zero length or create text file for writing