手动实现<string.h>中的各个函数
本文尚未完成… 本文将通过手动实现C标准库 <string.h> 中的常用函数,深入理解字符串处理的底层原理。 当然,我们只是简单实现。glibc中的工业级实现肯定要复杂得多。 计算字符串长度介绍 - strlen在标准库<string.h>中,strlen()函数可以用于计算字符串长度(不包括结尾的\0)。 标准库原型如下: 1size_t strlen(const char *str); 手动实现 strlen方法一: 计数器遍历1234567891011#include <stddef.h> size_t my_strlen(const char *str) { size_t len = 0; while (str[len] != '\0') { len++; } return len; } 方法二: 指针减法(高效)1234567891011size_t my_strlen2(const char *str) { const char *start =...
NCurses库快速入门教程
本篇暂未完成…… 前言NCurses 是一个在类 Unix 系统下用于开发 文本用户界面(TUI) 的编程库。它提供了处理终端屏幕、键盘输入和彩色文本输出等的 API。 你可能对 TUI 一词比较陌生,但想必你一定听说过 GUI。 GUI(Graphical User Interface),即图形用户界面。简单来说,就是电脑、手机或其他电子设备屏幕上,你能够用鼠标点击、用手指触摸、用眼睛看的那种操作界面,而不是只有命令符的黑白文字界面。我们所熟知的 VSCode 、 微信、QQ 之类,它们都属于 GUI 应用。 TUI(Text-based User Interface), 译为文本用户界面。TUI 是 GUI 和命令行界面(CLI)之间的一种中间形态。它不依赖鼠标和图形窗口,但仍然在字符界面中提供相对直观、可交互的布局。TUI是基于字符的,不依赖图形系统。几个常见的例子是:Vim、Nano、htop、mc等。 打开你的 Shell,输入vim体验一下吧!(进入后输入:q!退出) NCurses 最初由 Pavel Curtis 于 1993年开始开发,目标是创建一个免费...