Linux详解之用三个文件实现复制文件内容功能

要求:写三个代码文件,main.c,mycp.c,mycp.h。要求在命令行输入两个文件名即可实现把第一个文件复制到第二个新文件中,其中mycp函数的要求是mycp(char *src, char *dest),*src是源文件路径,*dest是目标文件路径。

知识点

1.Linux系统编程之错误处理:perror , strerror 和 errno
    首先是errno,在系统编程中错误通常通过函数返回值来表示,并通过这个特殊变量errno来描述。errno这个全局变量在errno.h头文件中声明如下:extern int errno;
    查看错误代码errno是调试程序的一个重要方法。当linuxC api函数发生异常时,一般会将errno变量(需include errno.h)赋一个整数值,不同的值表示不同的含义,可以通过查看该值推测出错的原因。

2.错误处理函数
(1) 函数 void perror(const char *s);
函数说明:perror()用来将上一个函数发生错误的原因输出到标准错误(stderr)。参数s所指的字符串会先打印出,后面再加上错误原因字符串。此错误原因依照全局变量errno的值来决定要输出的字符串。
例子:

#include<stdio.h>
main()
{
    FILE *fp;
    fp = fopen("/tmp/jiege","r+");
    if(fp == NULL) 
        perror("open failed!");//类似于fputs("open failed!",stderr)
}

执行:

$ ./perror
open failed! : No such file or diretory

报错提示字符串里的内容加冒号:错误信息,这里报错是因为找不到文件或目录。

(2) 函数char * strerror(int errnum);
函数说明:strerror()用来依参数errnum的错误代码来查询其错误原因的描述字符串,然后将该字符串指针返回。
返回值:返回描述错误原因的字符串指针。

/* 显示错误代码0 至9 的错误原因描述*/
#include <stdio.h>
#include<string.h>
main()
{
    int i;
    for(i=0;i<10;i++)
    printf("%d : %s\n",i,strerror(i));
}

执行:

0 : Success
1 : Operation not permitted
2
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值