为什么我fread把文本内容读出来后段错误呢还会有内存地址映射?LINUX下编程
if(argc!=1) { if((fp=fopen(argv[2],"r"))==NULL) { fprintf(stderr,"open %s failed!\n",argv[2]); return FALSE; } nbytes=send(sockfd,argv[2],strlen(argv[2]),0); if(nbytes==-1) { fprintf(stderr,"send filename: %s failed\n",argv[2]); return FALSE; } nbytes=0;// while(fgets(sendbuf,1024,fp)!=NULL) while((ret=fread(sendbuf,sizeof(char),MAXLEN,fp))>0) { ret=send(sockfd,sendbuf,strlen(sendbuf),0); printf("%d\n",strlen(sendbuf)); if(ret==-1) { fprintf(stderr,"send failed\n"); return FALSE; } nbytes+=ret*sizeof(char); printf("%s",sendbuf); memset(sendbuf,0,MAXLEN); } printf("\n"); printf("send file %s over,%d bytes of file\n",argv[2],nbytes); fclose(fp); }