c语言fopen函数内存错误 15
直接运行的话是XXXXX不能为read的什么的对话框。debug的话,Codeblocks返回的错误信息是:ChildprocessPID:6668Programrece...
直接运行的话是XXXXX不能为read的什么的对话框。
debug的话,Codeblocks返回的错误信息是:
Child process PID: 6668
Program received signal SIGSEGV, Segmentation fault.
In ntdll!RtlEnumerateGenericTableLikeADirectory () (C:\WINDOWS\system32\ntdll.dll)
Continuing...
Error accessing memory address 0x401c1d: Input/output error.
右下角会弹SIGSEGV错误的对话框。代码如下:
运行到fopen就会报错,求解答啊有木有。 展开
debug的话,Codeblocks返回的错误信息是:
Child process PID: 6668
Program received signal SIGSEGV, Segmentation fault.
In ntdll!RtlEnumerateGenericTableLikeADirectory () (C:\WINDOWS\system32\ntdll.dll)
Continuing...
Error accessing memory address 0x401c1d: Input/output error.
右下角会弹SIGSEGV错误的对话框。代码如下:
运行到fopen就会报错,求解答啊有木有。 展开
3个回答
展开全部
你这个程序,fopen函数没有错误,唯一有可能出现问题的地方是,fopen打开后,没有判断文件句柄是否有效,在下面fclose的时候,如果句柄无效,那么就会出错
追问
其实原来的代码是while (fscanf("%s%d",&ss,&n)==2){.....}
运行到这句出错。这个就判断了有效无效吧,但是就会出现运行错误而不是程序运行下去。
追答
你先判断一下in的返回值吧,如果为NULL,那你下面的fscanf函数也是会出错的,然后再看一下你ss数组中读取的值,是否有值,如果正常,那么就是你下面的函数里面的问题了,不知道你那个prework函数里面怎么写的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询