闲来无事 linux cp命令的三种实现方式
第一种:fgetc fputc
#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
FILE *src,*dst;
int buf;
if(argc < 3){
fprintf(stderr,"Usage:%s <src_file> <dst_file>\n",argv[0]);
exit(1);
}
src=fopen(argv[1],"r");
if(src == NULL){
perror("fopen():");
exit(1);
}
dst=fopen(argv[2],"w");
if(dst == NULL){
fclose(src);
perror("fopen():");
exit(1);
}
while((buf = fgetc(src)) != EOF)
{
fputc(buf,dst);
}
fclose(dst);
fclose(src);
exit(0);
}
第二种:fgets fputs
#include<stdio.h>
#include<stdlib.h>
#define BUFSIZE 1024
int main(int argc,char *argv[])
{
FILE *src,*dst;
char buf[BUFSIZE];
if(argc < 3){
fprintf(stderr,"Usage:%s <src_file> <dst_file>\n",argv[0]);
exit(1);
}
src=fopen(argv[1],"r");
if(src == NULL){
perror("fopen():");
exit(1);
}
dst=fopen(argv[2],"w");
if(dst == NULL){
fclose(src);
perror("fopen():");
exit(1);
}
while((fgets(buf,BUFSIZE,src)) != NULL)
{
fputs(buf,dst);
}
fclose(dst);
fclose(src);
exit(0);
}
第三种:fread fwrite
#include<stdio.h>
#include<stdlib.h>
#define BUFSIZE 1024
int main(int argc,char *argv[])
{
FILE *src,*dst;
char buf[BUFSIZE];
int n;
if(argc < 3){
fprintf(stderr,"Usage:%s <src_file> <dst_file>\n",argv[0]);
exit(1);
}
src=fopen(argv[1],"r");
if(src == NULL){
perror("fopen():");
exit(1);
}
dst=fopen(argv[2],"w");
if(dst == NULL){
fclose(src);
perror("fopen():");
exit(1);
}
while((n=fread(buf,1,BUFSIZE,src)) > 0)
{
fwrite(buf,1,n,dst);
}
fclose(dst);
fclose(src);
exit(0);
}
转载于:https://blog.51cto.com/zhangmujin/1349926
闲来无事 linux cp命令的三种实现方式相关推荐
- linux系统查看FTP用户名密码,Linux的FTP的三种登录方式:
Linux的FTP的三种登录方式: 我们登录FTP有三种方式,匿名登录.本地用户登录和虚拟用户登录. 匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous. 本地用户登录:使用系 ...
- 在linux上MySQL的三种安装方式
安装MySQL的方式常见的有三种: 方式一:rpm安装 (1) 操作系统发行商提供的 (2) MySQL官方提供的(版本更新,修复了更多常见BUG)www.mysql.com/downloads 关于 ...
- linux命令echo的实现,Linux echo命令的使用及三种实现方式
先给大家介绍下linux中echo命令的使用 echo是打印变量的值或者给定的字符串, 比如,输入echo hello或者echo "hello"都是在控制台打印出hello单词 ...
- linux查看php日志命令,linux查看日志的三种命令是什么,linux查看进程命令
linux查看日志的三种命令是什么Linux查看日志的三个命令是什么,linux查看日志有三个命令:1.查看实时更改日志,代码为[tail-f filename]:2.搜索关键字附近的日志代码为[ca ...
- linux监控命令执行,你可能不知道的 即时监控 Linux 使用者执行指令的三种方法...
原标题:你可能不知道的 即时监控 Linux 使用者执行指令的三种方法 这里介绍如何在 Linux 系统上以管理者权限即时监控一般使用者所执行的任何指令. Linux 的 root 管理者可对系统进行 ...
- linux cp -ip,linux cp命令
五分钟学会使用Linux cp命令 Linux中使用cp命令复制文件(夹),本文就日常工作中常用的cp命令整理如下. 一.复制一个源文件到目标文件(夹). 命令格式为:cp 源文件 目标文件(夹) 这 ...
- linux修改文件名的三种方法
文章目录 前言 一.用mv命令修改文件名 二.使用cp命令修改 三.使用rename命令修改 总结 前言 我们在使用linux系统过程中为了便于记忆或整理维护,经常需要对文件名进行修改,下面文章介绍了 ...
- Linux下文件的三种时间戳
Linux下文件的三种时间标记 三种时间对应关系表 column column column 访问时间 Access atime 修改时间 Modify mtime 状态改动时间 Change cti ...
- linux cp命令 前面,盘点Linux命令之Linux cp命令使用大全
Linux命令有很多,其中Linux cp命令常用的一种,Linux cp命令如何使用,下面IT培训网将为您盘点有关Linux命令之Linux cp命令大全. Linux命令之Linux cp命令详解 ...
最新文章
- 张家界举行“火王”争霸赛 众人街头“玩火”
- 最全的ASP.NET开源CMS汇总
- typedef的详细用法
- 【python】详解zipfile模块读取处理压缩文件实例
- EPI_H/EPI_V(边缘保持指数,matlab 矢量化编程)
- Git 基础(六)—— 工作区和暂存区与 Git 对修改的管理
- 实验四 木马的远程控制和清除
- 神舟测试软件,神舟战神P5常规性能软件测试_神舟 战神P5-i78172D1_笔记本评测-中关村在线...
- OSEK直接网络管理(NM)
- freeradius+ldap搭建认证服务器
- python的认识从唯物主义_中国大学mooc用Python玩转数据章节答案
- cesiumlab v3.0.2—通用模型切片
- ffmpeg java 合并_[置顶] ffmpg简介以及用它实现音频视频合并(java)
- mysql中explain是什么_MySQL中EXPLAIN的解释_MySQL
- js实现图片的随机抽奖
- “蔗里最甜”开展新型婚育文化宣传活动
- SAP云上自适应跨可用区高可用方案
- Spring框架学习路线
- 正则表达式的介绍及应用
- tyut数据分析考试资料
热门文章
- HyperLogLog 算法的原理讲解以及 Redis 是如何应用它的
- Mac自定义终端的欢迎页
- ionic+angularjs开发hybrid App(环境配置+创建测试项目)
- [转]Android NDK几点回调方式
- LVS/HAProxy/Nginx负载均衡对比
- HTML5 Web app开发工具Kendo UI Web中图像浏览器的使用
- 互联网公装企业“inDeco领筑智造”完成A+B轮近1.1亿元融资
- Swift-学习Perfect搭建博客
- Android 获取keystore SHA1方法
- 十周第一次课(5月25日)