文档章节

C语言实现文件复制

N3verL4nd
 N3verL4nd
发布于 2017/03/25 10:45
字数 209
阅读 7
收藏 0

#include <stdio.h>
#include <stdlib.h>

int copyFile(const char* dest, const char* src)
{
	FILE* fin = fopen(dest, "r");
	FILE* fout = fopen(src, "w");

	if (fin && fout)
	{
		while (!feof(fin))//读到最后一个字符,feof(fin)仍未false
		{
			fputc(fgetc(fin), fout);
		}
		fclose(fin);
		fclose(fout);
		return 0;
	}
	return -1;
}

int main(int argc, char* argv[])
{
	if (argc > 2)
	{
		if (copyFile(argv[1], argv[2]) != 0)
			printf("文件复制失败\n");
		else
		{
			long long len;
			FILE *fp;
			fp = fopen(argv[1],"r");
			fseek(fp,0L,SEEK_END);
			len = ftell(fp);
			rewind(fp);
			printf("输入文件大小:%lld 字节\n",len);
			printf("文件内容:\n");
			while (!feof(fp))
			{
				putchar(fgetc(fp));
			}
			printf("\n");
			fclose(fp);



			fp = fopen(argv[2],"r");
			fseek(fp,0L,SEEK_END);
			len = ftell(fp);
			rewind(fp);
			printf("输出文件大小:%lld 字节\n",len);
			printf("文件内容:\n");
			while (!feof(fp))
			{
				putchar(fgetc(fp));
			}
			printf("\n");
			fclose(fp);
		}
	}
}

命令行:

copy.exe in.txt out.txt

注意out.txt读入了in.txt的文件结束标志EOF,使得两个文件的大小不一样!






© 著作权归作者所有

上一篇: poj_1661Help Jimmy
下一篇: poj_3126Prime Path
N3verL4nd
粉丝 1
博文 379
码字总数 481243
作品 0
朝阳
私信 提问
汇编总结:mov指令

mov指令的作用: mov指令可能是汇编里用的最多的指令了,完成c语言里的赋值。 mov指令种类: 1.普通的mov指令2.做符号扩展的movs3.做零扩展的movz 1.普通mov的种类有: movb #完成1个字节的复制...

guonaihong
2015/09/14
12.4K
0
想做程序员,C语言可以开发哪些项目?

(1)C语言是面向过程的,而C++是面向对象的 (2)C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运...

小辰GG
2017/12/21
0
0
研究生的一份试题的几道题节选

首先祝朋友考研成功,勇往直前,我是不考研的,所以完全以提高能力,使用为主,不在意细节。小伙伴让我帮忙看了一下试卷,故截取了几道题目。 c我是真的应了那句话,从入门到放弃,没有字符串...

东风冷雪
2017/12/23
0
0
C语言/C++编程代码训练—昨天练习题进行讲解—真正的小项目

C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到...

小辰带你看世界
2018/03/25
0
0
Android 修改init.rc

有时候希望在启动后做点事情,比如在sdcard上建立目录,修改/data的访问权限等,这些都可以放在init.rc中去完成,那么如何来完成呢,最近由于工作的需要,在这方面进行了一些研究,特写于此,...

长平狐
2012/09/03
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

The POM for xxx is invalid, transitive dependencies (if any) will not be available

The POM for xxx is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details 问题描述 在使用maven打包时,log信息中打印出:[**WARNIN......

lwenhao
15分钟前
2
0
setState() called after dispose() flutter

# 在setState前加入以下判断if (!mounted) return;

zdglf
36分钟前
3
0
docker和docker-compose二种方式安装mysql8.0

Docker方式安装 在命令行下运行 docker run -d -p 3306:3306 --restart always --privileged=true--name mysql-e MYSQL_USER="test" -e MYSQL_PASSWORD="test" -e MYSQL_ROOT_PASSWOR......

小白的成长
44分钟前
9
0
五大网络威胁应对挑战

既然如此,那么威胁的检测和响应过程是否像生产瑞士手表那样高效运行呢?答案远非如此。据ESG报告显示,威胁检测和响应过程充满各种各样的问题。来自372名企业网络安全和IT专家的数据,以下是...

linuxCool
46分钟前
5
0
jQuery 选择器使用大全(标签选择器,ID选择器等)

jQuery的选择器是CSS 1-3,XPath的结合物。jQuery提取这二种查询语言最好的部分,融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS(绝大部分WEB开发者都用到的),那么你学起来就很...

前端老手
51分钟前
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部