powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / fopen требует указания полного пути к файлу?
13 сообщений из 13, страница 1 из 1
fopen требует указания полного пути к файлу?
    #39364429
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему если указано просто имя файла, например "input.txt" лежащего в одной директории с exe - fopen его не видит.
А если полный путь от корня диска C - то все ок.
Это фича C++?


Код: plaintext
1.
	FILE *f = fopen(filename, "r"); 
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39364442
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

это фича ОС. текущий путь (где ищется input.txt) не обязан совпадать с путём к exe
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39365222
alexy_black
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нужно вывести на экран путь. так можно проверить что идет не так.
вот напрмер http://en.cppreference.com/w/cpp/experimental/fs/current_path
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381439
Фотография CEMb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexy_black http://en.cppreference.com/w/cpp/experimental А где эту либу взять можно?
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381789
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltПочему если указано просто имя файла, например "input.txt" лежащего в одной директории с exe - fopen его не видит.
А если полный путь от корня диска C - то все ок.
Это фича C++?


Код: plaintext
1.
	FILE *f = fopen(filename, "r"); 


ищется по умолчанию в текущей директории, а не в директории где расположен exe
Eclipse юзаешь?
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381877
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)ищется по умолчанию в текущей директории, а не в директории где расположен exe
Eclipse юзаешь?

Дело было в коде до вызова fopen, он изменял текущую папку.
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381887
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
EoltДело было в коде до вызова fopen, он изменял текущую папку.
текущая папка может изначально не совпадать с папкой бинарника
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381900
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Eolt,

обычно пригождалась для олимпиад вот такая заготовочка:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
#include <cmath>
#include <vector>
#include <iostream>
#include <fstream>
using namespace std;
void task()
{ }
int main() {
#ifdef deb_task
	freopen("input.txt", "r", stdin);
#endif 
//  body
	int N;
	cin >> N;
	for (int i = 0; i<N ; i++) {
	  task();
	}
	return 0;
} 



дефайн deb_task добавляешь в свойства проекта
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39381965
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Указывать имя файла без пути это опасные грабли.
Поиск сначала идет в текущей папке, затем по путям указанным в SET PATH. В случае если в текущей папке файла не оказалось, но одноименный нашелся где-то в путях, то отлов этого косяка превращается в нетривиальную задачу.
Поэтому лучше сформировать имя с полным путем, чтобы файл искался там где он должен быть.
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39382102
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dima T,

Про PATH ты нагнал немного, там ищутся только исполняемые файлы
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39382107
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivDima T,

Про PATH ты нагнал немного, Там ищутся только исполняеме файлы
ну а насчёт граблей всё верно
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39382157
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ИзопропилMasterZivDima T,

Про PATH ты нагнал немного, Там ищутся только исполняеме файлы
ну а насчёт граблей всё верно

Да тоже не самые сложные проблемы, и редко это проблемой оказывается, так как вероятность обнаружения в
других каких-то каталогах файла с нужным именем в общем близка к нулю.
...
Рейтинг: 0 / 0
fopen требует указания полного пути к файлу?
    #39382161
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZivтак как вероятность обнаружения в
других каких-то каталогах файла с нужным именем в общем близка к нулю.
судя по вопросам на форуме проблемой является необнаружение файла
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / fopen требует указания полного пути к файлу?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]