![]() |
1
2
编辑:您确认错误是由于fopen失败造成的,需要这样检查错误:
示例输出:
|
![]() |
2
2
fclose中的崩溃意味着传递给它的文件*已以某种方式损坏。如果指针本身已损坏(请检查调试器以确保其在fclose处的值与fopen返回的值相同),或者如果文件数据结构因某个随机指针写入或缓冲区溢出而损坏,则可能发生这种情况。 你可以尝试使用 valgrind 或者其他内存损坏检查程序,看看它是否能告诉您任何信息。或者在调试器中的pipefd变量地址上使用数据断点。在文件本身上使用一个数据断点是很困难的,因为它有多个字,并且可以通过正常的文件I/O操作进行修改。 |
![]() |
3
1
应该关闭pipefd而不是pipename。 |
![]() |
CH_YUR · 为什么这段代码有分段错误? 2 年前 |
![]() |
Okonjo Mitchel · CS50凯撒:分段故障问题 2 年前 |
![]() |
Drin Kurtishi · cs50在线课程中凯撒问题集的问题 2 年前 |
![]() |
DynamicApproach · 提取exec函数的参数 2 年前 |
![]() |
Horcrux7 · 如何使用jffi/jnr处理SIGSEGV? 2 年前 |
![]() |
J.Doe · 向函数传递双指针以获取C中的字符串 6 年前 |