Linux文件如何自己创建复制

本文介绍了C语言中如何进行文件操作,包括打开、读取、写入和关闭文件,以及如何处理命令行参数。示例代码展示了从源文件复制内容到目标文件的过程。同时,详细解释了主函数中参数argc和argv的使用,说明了在运行程序时如何传递和访问命令行参数。
摘要由CSDN通过智能技术生成

目录

一.首先介绍参数的概念

二.主函数


主要思路:

1.打开Src.c

2.读取Src.c到buf

3.创建Des.c

4.将buf写入Des.c

5.关闭文件

一.首先介绍参数的概念

#include <stdio.h>
int main(int argc,char** argv)
{

        printf("total params=%d\n",argc);

        printf("No1 params=%s\n",argv[0]);

        printf("No2 params=%s\n",argv[1]);

        printf("No3 params=%s\n",argv[2]);
        return 0;
}
~         

char** argv 是字符串的数组

运行时 ./a out Scr Des

分别为argc[0],argv[1],argv[2]

为三个参数 

二.主函数

#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>
#include <string.h>
#include <stdlib.h>

int main(int argc,char** argv)
{
        int fdSrc;
        int fdDes;
        char* buf=NULL;

        fdSrc=open(argv[1],O_RDWR);              //源文件的打开

        int fileSize=lseek(fdSrc,0,SEEK_END);    //利用光标来计算文件大小
        buf=(char*)malloc(sizeof(char)*fileSize);//为buf开辟空间,因为上面定义的是野指针
        lseek(fdSrc,0,SEEK_SET);                 //将光标重新指向开头

        read(fdSrc,buf,1024);                    //将源文件的内容,写入到buf中

        fdDes=open(argv[2],O_RDWR|O_CREAT,0600); //打开目标文件,没有则新建一个
        write(fdDes,buf,strlen(buf));            //将buf里的内容写入fdDes,一定要用strlen

        close(fdSrc);                            //关闭两个文件
        close(fdDes);




        return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值