使用fgets 和 fputs实现shell指令中cp文件复制

这篇博客介绍如何利用C语言的fgets和fputs函数实现shell指令中的cp文件复制功能。通过分析,以'r'模式打开源文件,'w'模式打开目标文件,并讨论了如何接收终端输入的文件名作为程序参数。
摘要由CSDN通过智能技术生成

/*
使用fgets和fputs实现shell指令中cp的文件复制到文件的功能
分析:fgets源文件的内容,然后通过fputs输出到目标文件
所以应该是“r”的形式打开源文件,“w”的形式打开目标文件
现在最大的问题在于:源文件的文件名应该怎么写?目标文件的文件名怎么写
所以现在问题就转换成了:如何将终端上输入的字符创,导入到程序中作为文件名使用
利用主函数的参数 argv实现

要求2:判断目标文件是否为目录文件,如果是目录文件,则将源文件原名复制到目录文件中
关键在于如何判断一个文件是目录文件:寻找文件命中有没有‘.’,没有‘.’说明是目录文件

/
#include<stdio.h>
#include<string.h>
#include<sys/types.h>
#include<sys/stat.h>
#include<unistd.h>
int ifdir(char
tar){
int i = 0;
for(i=0;tar[i]!=0;i++){
if(tar[i]==’.’){
return 0;
}
}
return 1;
}

int main(int argc,char** argv){
if(argc!=3){
printf(“参数数量错误\n”);
return 0;
}

/*int res = ifdir(argv[2]);
char tar[50] 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值