首页 » 编程

Glibc 学习 –16. Sockets

一、什么是Sockets
在GNU中,Sockets为一个文件描述符,不同于pipes,Socket支持通过网络进行的异地通信。著如telnet,ftp等均可通过sockets访问。
二、通信类型
通信类型主要分以下三种SOCK_STREAM可靠双向基于

Glibc 学习 –14. 文件系统

一、工作目录
unistd.hgetcwd得到工作路径chdir切换工作路径fchdir通过文件描述符切换路径
二、目录控制
1. 函数
struct direntDIRopendir打开一个目录fdopendir通过描述符打开目录dirfd通过DIR

Glibc 学习 –10. 模式匹配

一、通配符匹配
fnmatch
匹配: 0
不匹配: FNM_NOMATCHFNM_FILE_NAME/有特殊含义FNM_PATHNAME= FNM_FILE_NAMEFNM_PERIOD.有特殊含义FNM_NOESCAPE\没有特殊含义FNM_LEAD

Glibc 学习 – 9. 搜索与排序

search.h
一、比较回调函数
int comparision_fn_t(const void *, const void *)其中的const void *指向的是所比较参数,比如所比较的是const char*(字串),那么const void *

理解C的const

首先C的变量通常可定义为2部分,变量类型,变量对象。
比如 char *p;
可以理解成 char* p, p是一个指针,
也可以理解成 char *p, *p是一个字符。
而我采用的是2的理解方式。
其次对于c来说
const char 与 char c

Glibc 学习 – 6. 字符集控制

早期电脑每个字符只有8位,但8位已无法适应各种非罗马字符的需求,于是引入了多字节概念。
一、扩展字符的介绍
wchar.h
GNU中的wchar_t一直为32位wchar_twint_t单个wchar字符WCHAR_MINwint_t的最小值WCHAR_M

Vim中的正则表达式

正则表达式是非常有用的工具,同样Vim也支持正则,在正则的帮助下文字处理事半功倍。
一、描述
pattern ::= branch
or branch \| branch
or branch \| branch \| branc

Glibc 学习 – 5. 字符串与数组

字符串与数组操作是许多程序中不可缺少的部分,因Glibc所提供的库都高度优化,熟练使用库可以使程序更加具有效率。字符串以'\0'结尾。用'\0'代替0是良好的习惯。
一、字符串
string.h
1. 长度
strlen字符串长度strnlen字符串长度,

Glibc 学习 – 4. 字符

一、字符判断
ctype.hislower小写字母isupper大写字母isalpha字母isdigist数字isalnum数字或字母isxdigist16进制的有效字符或字母ispuntct标点符号,除字母空格以外的所有字符isspace' ' '\f

Glibc 学习 – 3. 虚拟内存与分页

一、内存概念
虚拟内存划分为多个页(4KB为典型的大小),每一个页背后都有物理内存(叫做帧frame)或二级存储空间,比如磁盘。实际上未使用到的页的背后并无任何东西,仅仅被标注了“该页为空”。一个帧可以对应多个页,比如多个进程共享一个包含printf函数