Как поменять режим открытия файла, если не знаешь его имени?
Допустим, есть функция, которая принимает указатель на FILE Прототип может быть такой:
void func (FILE * inFile);
К примеру, мне нужно прочитать содержимое inFile, но я не знаю его имени, есть только указатель на структуру (в рамках этой отдельной функции). Можно ли поменять режим открытия файла не зная его имени? Или вытащить из структуры имя и передать в fopen уже его? Что-то типа этого:
void func (FILE * inFile){
inFile = fopen(inFile.name, "r");
...
}
Ответы (1 шт):
Автор решения: Harry
→ Ссылка
Посмотрите на функцию freopen. Если передавать в нее в качестве имени файла нулевой указатель - то она переоткрывает файл, переданный ей в виде FILE*.