gpt4 book ai didi

c++ - 如何使用 FILE *fp 调用函数关闭文件

转载 作者:太空宇宙 更新时间:2023-11-04 05:34:40 26 4
gpt4 key购买 nike

在 main 中,我创建了一个文件指针,将其传递给一个函数来打开它,我想有一个单独的函数来关闭文件,但我无法关闭文件。我错过了什么?

我没有收到错误,但我检查的方式表明文件没有关闭。

感谢您对此的帮助。

 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. ");
}
}

最佳答案

您误解了 return value : fclose成功 时返回 0,因此您需要检查 if (fclose(*inFile) == 0)

关于c++ - 如何使用 FILE *fp 调用函数关闭文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43010614/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com