linux fwrite 文件大小,Linux上的fwrite中的段错误

我有一段C代码,我尝试在打开的输出文件中写入一个缓冲区。当我尝试运行代码时出现分段错误。Linux上的fwrite中的段错误

if (fwrite(header, record_size, 1, uOutfile) != 1)

{

return 0;

}

头是一个正确填充,我能够打印出缓冲区头的header.the大小的内容肯定比record_size.Is还有什么值得checking.?Any其他更大的原因其中FWRITE可引起segfault.Gdbing问题给出了下面的输出

0x00007ffff6b7d66d in _IO_fwrite (buf=0x726d60, size=16, count=1, fp=0x738820) at iofwrite.c:43

43 iofwrite.c: No such file or directory.

in iofwrite.c

这似乎表明,输出文件一直没有created.how曾经和ls -l命令在我的目录显示大小为0的输出文件字节。

如果有人能够解决这个问题,我将不胜感激。

编辑:打开的文件编号:

outfd = open(out, O_RDWR|O_CREAT|O_TRUNC|O_LARGEFILE, 0664);

if (outfd == -1) {

dagutil_panic("Could not open %s for writing.\n", out);

}

uOutfile = fdopen(outfd, "w");

2011-09-15

liv2hak

+0

请添加打开的文件的代码。 –

+0

outfd = open(out,O_RDWR | O_CREAT | O_TRUNC | O_LARGEFILE,0664); (outfd == -1) { dagutil_panic(“无法打开%s写入。\ n”,out); } uOutfile = fdopen(outfd,“w”); –

+0

“似乎表明输出文件尚未创建”←你确定吗?它暗示我'gdb'找不到你的源代码 - 除非你输出一个.c文件。 –

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值