Как вызвать функцию для закрытия файла с помощью FILE * fp

В основном я создаю указатель файла, передаю его функции, чтобы открыть его, и я хочу иметь отдельную функцию для закрытия файла, но я не могу закрыть файл. Что мне не хватает?

Я не получаю сообщение об ошибке, но способ проверки показывает, что файлы не закрылись.

спасибо за помощь в этом.

 int _tmain(int argc, _TCHAR* argv[])
{
FILE *inFile, *outFile;
FileOpen(&inFile, &outFile);
FileClose(&inFile, &outFile);

getch();
return 0;
}

void FileOpen(FILE **inFile, FILE **outFile)
{
//--Open InFile--------------------------------
if ((*inFile = fopen("a.txt","r")) == NULL){
printf("\nError Opening File. ");
exit(0);
}
else {
printf("File Opened\n");
}

//--Open OutFile--------------------------------
if ((*outFile = fopen("b.txt","w")) == NULL){
printf("\nError Opening File. ");
exit(0);
}
else {
printf("File Opened\n");
}
}void FileClose(FILE **inFile, FILE **outFile)
{
//--Close InFile----------
if (fclose(*inFile)){
printf("File Closed\n");
}
else {
printf("\nError Closing InFile File. ");
}

//--Close outFile---------
if (fclose(*outFile)){
printf("File Closed\n");

}
else {
printf("\nError Closing OutFile File. ");
}
}

0

Решение

Вы неправильно понимаете возвращаемое значение: fclose возвращает 0 на успех, так что вам нужно проверить if (fclose(*inFile) == 0),

6

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]