当前位置:  技术问答>linux和unix

新手,一个简单的程序问题。

    来源: 互联网  发布时间:2017-01-20

    本文导语:  #include FILE *stream,*fp; int filepos=0; int filesize=0; char s[250]; int recvsize=0; int main(viod) { fp=fopen("server","rb"); fseek(fp,0,SEEK_END); filesize=ftell(fp); rewind(fp); while(recvsize != filesize) { fseek(fp,filepos,SEEK_SET); int readsize=fread(s,sizeof(char),2...

#include
FILE *stream,*fp;
int filepos=0;
int filesize=0;
char s[250];
int recvsize=0;

int main(viod)
{


fp=fopen("server","rb");
fseek(fp,0,SEEK_END);
filesize=ftell(fp);
rewind(fp);
while(recvsize != filesize)
{
fseek(fp,filepos,SEEK_SET);
int readsize=fread(s,sizeof(char),250,fp);
filepos=ftell(fp);
recvsize+=readsize;

if((stream=fopen("TEST.c","wb"))==NULL)
{
fprintf(stderr,"cannot open output file.n");
return 1;
}

fwrite(&s,sizeof(char),250,stream);
fclose(stream);
fclose(fp);
}
return 0;
}


出错:
*** glibc detected *** ./write: double free or corruption (top): 0x081c0008 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0x68cbc2]
/lib/i386-linux-gnu/libc.so.6(+0x6f862)[0x68d862]
/lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0x69094d]
/lib/i386-linux-gnu/libc.so.6(fclose+0x154)[0x67c0b4]
./write[0x8048706]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x637113]
./write[0x8048501]
======= Memory map: ========
0061e000-00794000 r-xp 00000000 08:01 394150     /lib/i386-linux-gnu/libc-2.13.so
00794000-00796000 r--p 00176000 08:01 394150     /lib/i386-linux-gnu/libc-2.13.so
00796000-00797000 rw-p 00178000 08:01 394150     /lib/i386-linux-gnu/libc-2.13.so
00797000-0079a000 rw-p 00000000 00:00 0 
007ee000-007ef000 r-xp 00000000 00:00 0          [vdso]
00ad7000-00af3000 r-xp 00000000 08:01 394171     /lib/i386-linux-gnu/libgcc_s.so.1
00af3000-00af4000 r--p 0001b000 08:01 394171     /lib/i386-linux-gnu/libgcc_s.so.1
00af4000-00af5000 rw-p 0001c000 08:01 394171     /lib/i386-linux-gnu/libgcc_s.so.1
00fca000-00fe8000 r-xp 00000000 08:01 394137     /lib/i386-linux-gnu/ld-2.13.so
00fe8000-00fe9000 r--p 0001d000 08:01 394137     /lib/i386-linux-gnu/ld-2.13.so
00fe9000-00fea000 rw-p 0001e000 08:01 394137     /lib/i386-linux-gnu/ld-2.13.so
08048000-08049000 r-xp 00000000 08:01 416755     /home/zhayun/write
08049000-0804a000 r--p 00000000 08:01 416755     /home/zhayun/write
0804a000-0804b000 rw-p 00001000 08:01 416755     /home/zhayun/write
081c0000-081e1000 rw-p 00000000 00:00 0          [heap]
b7600000-b7621000 rw-p 00000000 00:00 0 
b7621000-b7700000 ---p 00000000 00:00 0 
b778c000-b778d000 rw-p 00000000 00:00 0 
b779a000-b779e000 rw-p 00000000 00:00 0 
bf8be000-bf8df000 rw-p 00000000 00:00 0          [stack]
已放弃



gdb 调试提示:Program received signal SIGABRT, Aborted.

|
while中,去掉:fclose(fp);
关闭文件后,在试图读取,必然会core啊。。。

    
 
 

您可能感兴趣的文章:

  • 新手提问,应用程序运行:Permission denied错误
  • 新手求教——windows程序移植到unix下
  • [新手提问]请问在命令行下追踪程序输出信息的方法
  • 新手散分问题:如何在ASP做的网页上嵌入JAVA程序?
  • 新手提问 在线等待,为什么我的程序中 new 操作符出错?
  • Linux Kernel/Network 技术QQ群14888802,只加有内核开发、TCP/IP协议栈开发的程序员,不加新手和做应用开发的程序员。
  • 我是新手,想作个程序,大家给点意见啊
  • 新手问一个简单问题:用什么命令来结束自己编写的服务端程序
  • 【新手提问】在XWindows下,有没有一个程序可以开一个窗口来运行命令行?
  • 新手求anjuta开发的程序示例
  • 我是新手,关于如何编译程序的初级问题,急!
  • 新手散分!!JB 6里新建第一个Applet程序的过程?
  • java/j2ee iis7站长之家
  • 新手提问:在REDHAT LINUX 下开发应用程序,用什么工具好,除了 LINUX C以外
  • 新手请教:unix下能用Jbuilder开发吗?或者Jbuilder开发的程序在unix运行?
  • 新手问题:我用java运行程序出错
  • 新手的菜鸟问题:不同内核版本下编译的程序能否互相调用,是否需要在同一内核下重新编译.
  • 新手求助:BSP与驱动程序的差别
  • 新手,请问这个程序错在哪儿?
  • 新手做C/S结构程序时的困惑?高手解惑啊!!!!
  • JDBC的问题,新手高手都来看看吧,说不定能帮帮我这个新手呢,谢谢!
  • 新手问题:中文问题等
  • 新手问题,关于liux安装启动的问题。
  • 新手有关linux的问题!
  • (新手问题)关于QT的问题
  • 一个蛋疼的问题,我是新手
  • 新手问题:RH怎么退回字符界面? 急!!!!
  • 新手问SCO UNIX安装问题
  • 新手学linux,关于vmware tools的问题。
  • 新手求教:关于ftp命令的问题,请大家帮帮忙
  • Java新手上路之问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 新手如何加入开源项目 有什么好的c++,java 开源适合新手 请指点!
  • 想找共同学习Linux的新手,一起学习,共同成长
  • 新手关于驱动开发的疑问
  • 新手急求~~~~~~~~~~~~~~~~~~~
  • 新手学习该用哪个版本
  • 面向新手的终端辅助工具 Clicompanion
  • 我是个新手,请各位老兄给介绍基本好书?
  • 新手请教啦~~能不能帮忙推荐几本书
  • 我是新手
  • 新手:用WEB页面修改数据库中的表?
  • 我是一名新手,请问如何学java
  • (新手)这里怎么看到300篇以外的所有文章?(不是搜索)
  • 新手求助!
  • 新手上路,怎样判断网卡是否安装成功?
  • !!新手求救!!
  • 新手在此多谢了:SUN的宠物商店
  • 新手请教,我用VI时按ESC键,总是回嘟嘟嘟嘟响,请问如何去掉!谢谢!
  • 新手求救!!关于变量初始化
  • 新手,请多指教!!
  • 我是新手,安装好unix后,要如何安装鼠标?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3