gpt4 book ai didi

c - fseek 进程已完成,退出代码为 11

转载 作者:行者123 更新时间:2023-11-30 14:58:36 24 4
gpt4 key购买 nike

我不知道为什么,但是当我执行 ./a.out 时,它给了我这个错误:

进程已完成,退出代码为 11

如果我注释 fseekftell,它不会给我错误吗?为什么 ?我犯了逻辑错误?

代码:

#include <stdio.h>
#include <stdlib.h>


int main (){


FILE *file_pointer;
int size=0;


if((file_pointer = fopen("file.txt","rb")) == NULL)
{
printf("Ok Man File was charge in the pointer");
fseek(file_pointer, 0, SEEK_END);
size=ftell(file_pointer);

printf("%d",size);
rewind(file_pointer);
fclose(file_pointer);
} else
printf("File Not Found");




return 0;
}

最佳答案

您刚刚测试了文件打开是否失败,如果失败,您可以继续尝试使用它。返回值NULL表示错误,不能使用该句柄。

因此,您应该将 == 更改为 !=:

if((file_pointer = fopen("file.txt","rb")) != NULL)
{
...
}

或者稍微更具可读性的风格(在我看来):

file_pointer = fopen("file.txt","rb");
if(file_pointer)
{
...
}

顺便说一下,在fclose之前不需要倒回

关于c - fseek 进程已完成,退出代码为 11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43266842/

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