免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2447 | 回复: 4
打印 上一主题 下一主题

fread/fwrite [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-05-17 11:52 |只看该作者 |倒序浏览
如何用fread fwrite复制一个文件?
fread读到文件末尾时候,返回0;该如何知道实际读了多少数据?
谢谢



  1. int main( int argc, char *argv[] )
  2. {
  3.         int i, len;
  4.         int rfd, wfd;
  5.         char *buf;
  6.         FILE *rfp, *wfp;

  7.         len  = atoi( argv[3] );
  8.         printf( "%d\n", len );
  9.         buf = (char*)alloca( len );

  10.         rfp = fopen( argv[1], "rb" );
  11.         wfp = fopen( argv[2], "wb" );

  12.         while( 1 ){
  13.                 i = fread( buf, len, 1, rfp );
  14. //              if( i == 0 )
  15. //                      break;
  16.                 fwrite( buf, len, i, wfp );
  17.                 if( feof(rfp ) )
  18.                         break;
  19.         }
  20.         fclose( rfp );
  21.         fclose( wfp );

  22.         return 0;
  23. }
复制代码

论坛徽章:
0
2 [报告]
发表于 2007-05-17 12:00 |只看该作者
累加

论坛徽章:
0
3 [报告]
发表于 2007-05-17 12:40 |只看该作者
要取文件总长度??
麻烦

论坛徽章:
0
4 [报告]
发表于 2007-05-17 12:42 |只看该作者
调用stat去看看...

论坛徽章:
0
5 [报告]
发表于 2007-05-17 12:42 |只看该作者
fseek(fp, SEEK_END, 0);
long pos = ftell(fp);
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP