C/C++培训
达内IT学院
400-996-5531
今天为大家带来的项目是一个新增文件复制的功能,大家都知道要有好的用户体验,做出来的东西才会被接受,所以为大家带来c语言进度式文件拷贝代码教程代码如下仅供大家交流与参考:
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#include <conio.h>
#include <Windows.h>
#pragma warning(disable:4996)
int main()
{
//变量
FILE *pfin = NULL; //待读取的文件
FILE *pfout = NULL; //待写入的文件
int i;
int readSize = 0; //每次读取的字节数
int curSize = 0; // 当前已经读取的字节数
int totalSize = 0; //文件的总的字节数
int blockSize = 0; //每块的字节数
char buf[101];
srand((unsigned int)time(0)); //初始化随机种子, 伪随机数
pfin = fopen("20160725.c", "rb"); //以二进制的方式打开该文件作为读取对象
pfout = fopen("Copy.c", "wb"); //以二进制的方式打开该文件作为写入的对象
if (!pfin || !pfout)
{
printf("打开或创建拷贝的文件失败!\n");
return -1;
}
//获取待读取的文件的总的字节数
fseek(pfin, 0, SEEK_END); //把文件指针指向文件末尾
totalSize = ftell(pfin);
blockSize = totalSize / 10;
fseek(pfin, 0, SEEK_SET);//把文件指针重新指向开头
printf("按任意键开始文件的拷贝\n");
getch();
while (1)
{
readSize = fread(buf, 1, rand() % 100 + 1, pfin);
fwrite(buf, 1, readSize, pfout);
curSize += readSize;
if (feof(pfin))
break;
printf("\r 正在拷贝:");
for (i = 0; i < curSize; i += blockSize)
printf("< ");
Sleep(300);
}
if (curSize == totalSize)
printf("\n拷贝完成.\n");
fclose(pfin);
fclose(pfout);
printf("\n\n打印拷贝文件当中的内容:\n");
pfin = fopen("Copy.c", "r");
while (1)
{
putc(fgetc(pfin), stdout);
if (feof(pfin))
break;
}
printf("\n打印完毕!\n");
fclose(pfin);
return 0;
}
当你还在担心能否就业时,达内学员提前被企业录取;当你转辗于各大招聘会时,达内学员收到了高薪offer;当你在各大招聘网站投递简历时,达内学员中有人一毕业进入五百强名企。所以选择很重要。找C++培训班,选达内就对了。
文章来源:C语言编程,版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。
填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!
Copyright © 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有
Tedu.cn All Rights Reserved