• strerror 函数


    收藏
    75

    strerror编辑

    本词条缺少名片图,补充相关内容使词条更完整,还能快速升级,赶紧来编辑吧!
    通过标准错误的标号,获得错误的描述字符串 ,将单纯的错误标号转为字符串描述,方便用户查找错误。
    外文名
    strerror
    语    言
    C语言
    参    数
    错误标号(即error)
    返回值
    描述字符串(char *)

    1函数名编辑

    strerror, _strerror, _wcserror, __wcserror

    2函数作用编辑

    Get a system error message (strerror, _wcserror) or prints a user-supplied error message (_strerror, __wcserror).
    获取系统错误信息或打印用户程序错误信息。

    3头文件编辑

    #include <string.h>

    4函数原型编辑

    1
    2
    3
    4
    char*strerror(interrnum);
    char*_strerror(constchar*strErrMsg);
    wchar_t*_wcserror(interrnum);
    wchar_t*__wcserror(constwchar_t*strErrMsg)
    参数:
    errnum:错误标号,通常用errno(标准错误号,定义在errno.h中)
    Error number.
    strErrMsg
    User-supplied message.
    返回:
    指向错误信息指针(即:错误的描述字符串)。

    5举例编辑

    例一:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #include<stdio.h>
    #include<string.h>
    #include<errno.h>
    #include<stdlib.h>
    intmain(void)
    {
    FILE*fp;
    externinterrno;
    char*message;
    if(NULL==(fp=fopen("/dev/dsp","r+")))
    {
    printf("errno=%d ",errno);
    message=strerror(errno);
    printf("Mesg:%s ",message);
    }
    exit(0);
    }
    输出:
    error=2
    Mesg:No such file or direcory
    例二:
    // crt_perror.c
    // compile with: /W1
    /* This program attempts to open a file named
    * NOSUCHF.ILE. Because this file probably doesn't exist,
    * an error message is displayed. The same message is
    * created using perror, strerror, and _strerror.
    */
    #include <fcntl.h>
    #include <sys/types.h>
    #include <sys/stat.h>
    #include <io.h>
    #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <share.h>
    int main( void )
    {
    int fh;
    if( _sopen_s( &fh, "NOSUCHF.ILE", _O_RDONLY, _SH_DENYNO, 0 ) != 0 )
    {
    /* Three ways to create error message: */
    perror( "perror says open failed" );
    printf( "strerror says open failed: %s ",
    strerror( errno ) ); // C4996
    printf( _strerror( "_strerror says open failed" ) ); // C4996
    // Note: strerror and _strerror are deprecated; consider
    // using strerror_s and _strerror_s instead.
    }
    else
    {
    printf( "open succeeded on input file " );
    _close( fh );
    }
    }
    输出:
    perror says open failed: No such file or directory
    strerror says open failed: No such file or directory
    _strerror says open failed: No such file or directory
     
    转自 : http://baike.baidu.com/link?url=pllZsYxUR2EJ26CRuWn_F8x7cUimLjEi6g_tPsEnENMv3L4zzXhwqtQ1u7ry8IrHbCh29BbgJTVACTPfawZ1J_
     
     

    linux下错误的捕获:errno和strerror的使用

     
    转自 http://www.douban.com/note/165931644/
  • 相关阅读:
    poj 最长公共子序列 1458 记忆式搜索
    选择排序
    直接 插入排序
    直接插入排序
    洛谷-P3389-高斯消元
    经济中的哪些概念
    uva-622-dp
    UVA-607-DP
    转转---面试题
    Linux事件驱动IO中select vs epoll
  • 原文地址:https://www.cnblogs.com/IceSword-syy/p/4261834.html
Copyright © 2020-2023  润新知