【C语言进阶】—— 字符操作函数+内存操作函数详解 (吐血爆肝 !!!)3

简介: 【C语言进阶】—— 字符操作函数+内存操作函数详解 (吐血爆肝 !!!)3

⛳五、误信息报告函数

1.strerror

char strerror(int errnum);*
头文件:string.h , errno.h
函数名:strerror
函数参数:errnum, int类型,表示错误码编号

函数返回类型:char ,返回错误码对应的错误信息*

函数功能:Get a system error message(strerror) or prints a user - supplied error
message(_strerror). 返回系统的错误信息(就是程序出错时,用这个函数返回错误的原因信息)

**错误码-- - 所对应的错误信息: **
【C语言进阶】—— 字符操作函数+内存操作函数详解  (吐血爆肝 !!!)_函数_28

实际在使用的时候,错误码并非由我们来控制的,而是接收系统返回的错误信息

printf("%s\n", strerror(errno));
//errno是一个全局的错误码的变量
//当C语言的库函数在执行的过程中发生了错误,就会把对应的错误码,赋值到errno中
//errno需要引用头文件 errno.h

实际使用举例:
打开文件

#include<stdio.h>
#include<errno.h>
int main()
{
    FILE* pf = fopen("test.txt", "r");
    //当前路径下是没有test.txt文件的,所以应该会打开文件失败
    
    if (pf == NULL)  //fopen函数返回指针,打开文件失败返回空指针
    {
        printf("%s\n", strerror(errno));
    }
    else
    {
        printf("Open file success!\n");
    }
    return 0;
}

示例:找不到文件

【C语言进阶】—— 字符操作函数+内存操作函数详解  (吐血爆肝 !!!)_函数_29


⌚六、字符操作

1.字符分类函数

【C语言进阶】—— 字符操作函数+内存操作函数详解  (吐血爆肝 !!!)_字符操作函数_30


2.字符转换函数:

【C语言进阶】—— 字符操作函数+内存操作函数详解  (吐血爆肝 !!!)_C语言_31

举例:
大写字母转小写

#include <stdio.h>
#include <ctype.h>

int main()
{
    int i = 0;
    char str[] = "I AM A STUDENT ";

    while (str[i])
    {
        
        if (isupper(str[i])) //判断是否是大写
        {
            str[i] = tolower(str[i]);//转为小写
        }
        i++;
    }
    printf("%s\n", str);
    return 0;
}

【C语言进阶】—— 字符操作函数+内存操作函数详解  (吐血爆肝 !!!)_C语言_32


目录
相关文章
|
13天前
|
程序员 C语言
C语言库函数 — 内存函数(含模拟实现内存函数)
C语言库函数 — 内存函数(含模拟实现内存函数)
24 0
|
15天前
|
存储 编译器 C语言
深入探索C语言动态内存分配:释放你的程序潜力
深入探索C语言动态内存分配:释放你的程序潜力
28 0
|
1天前
|
编译器 C语言
字符串与内存函数
字符串与内存函数
11 0
|
13天前
|
程序员 C语言 开发者
C语言库函数 — 字符串函数(含模拟实现字符串函数)
C语言库函数 — 字符串函数(含模拟实现字符串函数)
35 0
|
16天前
|
存储 测试技术 C语言
【C语言进阶】 假期测评③
【C语言进阶】 假期测评③
41 1
|
20天前
|
存储 C语言
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现1
【我爱C语言】详解字符函数isdigit和字符串转换函数(atoi和snprintf实现互相转换字符串)&&三种strlen模拟实现
|
20天前
|
机器学习/深度学习 C语言
【C语言】函数的系统化精讲(三)1
【C语言】函数的系统化精讲(三)
|
20天前
|
编译器 C语言
【C语言】函数的系统化精讲(一)2
【C语言】函数的系统化精讲(一)2
|
20天前
|
编译器 Serverless C语言
【C语言】函数的系统化精讲(一)1
【C语言】函数的系统化精讲(一)
|
1月前
|
存储 JSON 监控
Higress Controller**不是将配置信息推送到Istio的内存存储里面的**。
【2月更文挑战第30天】Higress Controller**不是将配置信息推送到Istio的内存存储里面的**。
14 1

热门文章

最新文章