• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2024-08-14 17:12 Aet 隐藏边栏 |   抢沙发  23 
文章评分 1 次,平均分 5.0

关于ASCII

字符数字转整数

数字转字符数字

字符与大小写转换

  1. 转大写

  1. 转小写

字符与十六进制转换

  1. 字符到十六进制
    1. 如果字符是 '0''9''A''F',可以通过条件判断来将字符转换为对应的十六进制值
  2. 十六进制到字符
    1. 015 的整数值转换为十六进制字符,通过条件判断或直接查表实现

字符串与整数转换

  1. std::stoi
  2. std::to_string

数字字母判断

  1. std::isdigit(ch)
    1. 检查字符是否是数字字符('0''9'
  2. std::isalpha(ch)
    1. 检查字符是否是字母字符(包括大小写)

字符拼接

计算字符距离

关于数组

初始化相关

  1. 对数组不初始化,是随机值
    1. 取决于内存中的先前内容

  1. 对数组初始化为0

  1. 对数组初始化为-1

  1. 总结:
    1. 将数组初始化为 {0},这意味着显式地将第一个元素初始化为 0
    2. C 语言规定其余的元素如果未显式初始化,则会自动初始化为 0

关于语法

returnexit()

  1. return

    1. 用于终止当前函数的执行,并将控制权返回给调用该函数的地方

    2. return 只能用于函数内部,结束当前函数的执行

    3. main() 函数中,return 用于终止程序的执行,并将一个状态码(通常是 0 或非 0 的整数)返回给操作系统

      将状态码传递给操作系统,但不会影响全局的静态对象的清理和文件缓冲区的刷新
      同时触发全局对象和静态对象的析构

  2. exit

    1. 是一个库函数,定义在 <stdlib.h> 中,用于立即终止整个程序的执行
    2. exit() 会结束当前程序,并将一个状态码传递给操作系统,通常用于指示程序是否正常退出(0 表示正常,非 0 表示异常)
    3. exit() 可以在程序的任何地方调用,不仅限于 main() 函数或其他特定的函数
      调用 exit() 后,程序不再继续执行后续的任何代码
    4. exit() 会调用所有注册的 atexit() 函数、刷新所有打开的文件缓冲区,并释放所有分配的内存
      终止所有活跃的子线程,并执行任何静态对象的清理和全局对象的析构函数
  3. 总结

    1. return
      仅限于函数内部
      结束当前函数,返回控制权给调用者
      返回状态码,继续执行调用者的代码
      main() 返回时刷新文件缓冲区和清理静态对象
      常用于返回函数结果或结束 main()
    2. exit()
      可在程序的任何地方调用
      立即结束整个程序
      终止所有执行,调用 atexit() 注册的函数
      刷新文件缓冲区,清理静态对象,调用析构函数
      常用于异常处理、错误退出或非正常终止

atexit

  1. 概述
    1. C 标准库中的一个函数,定义在 <stdlib.h> 头文件中
    2. 用于注册一个函数,这个函数将在程序正常终止时自动执行
    3. 通过 atexit(),程序可以在退出时执行一些清理操作,比如释放资源、关闭文件、保存日志等
  2. 原型
    1. 成功时返回 0,如果注册失败则返回非零值

  1. 作用
    1. atexit() 用于在程序正常终止时执行特定的清理操作
    2. 程序正常终止指,通过 return 结束 main()、调用 exit() 函数等
  2. 注册函数的执行时机
    1. 注册的函数在程序正常退出时被调用(通过 exit()return 离开 main() 或其他标准方法)
    2. 如果程序通过 _exit()abort()或异常方式(如程序崩溃、异常终止)退出,则不会调用 atexit() 注册的函数
  3. 最大注册数量
    1. 标准库对 atexit() 可以注册的函数数量有一个限制
    2. 具体数量取决于实现(通常不少于 32 个)
    3. 过多的注册可能会导致注册失败
  4. 执行顺序
    1. 如果多次调用 atexit() 注册多个函数,这些函数会以后注册先执行(LIFOLast In, First Out)的顺序执行

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2024-09-03
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享