Язык C эквивалентен./folder?
Я работаю над проектом C в Pelles C и ищу файлы CSV в подкаталоге папки моего проекта. Прямо сейчас у меня есть абсолютный путь к файлам, вот так:
fopen("F:my/path/projectfolder/datafolder/data.csv", "r");
и это работает без проблем. Но я пытаюсь сделать мой код адаптируемым, когда я перемещаю папку моего проекта (скажем, с моего диска F:/ usb на мой C:/ harddrive). Я хотел бы знать, есть ли способ сделать это без необходимости изменять абсолютный путь к файлу каждый раз, когда я перемещаю папку своего проекта.
В основном мне интересно, как сказать "currentdirectory/datafolder", как в Linux ("./datafolder"). Что-то вроде следующих строк, которые я протестировал, но не работает:
fopen("./datafolder/data.csv","r");
или же
fopen("../datafolder/data.csv","r");
Мысли?
1 ответ
Решение
Это правильный синтаксис, за исключением того, что он основан на вашем текущем рабочем каталоге.
- Чтобы прочитать текущий рабочий каталог, вы можете использовать:
getcwd()
- Чтобы изменить текущий рабочий каталог, вы можете использовать:
chdir()