Linux Glibc(学习笔记三)
2013-02-26 22:18
225 查看
简介
glibc是gnu发布的libc库,也即c运行库。glibc是linux系统中最底层的api(应用程序开发接口Application Programming Interface ),几乎其它任何的运行 库都会倚赖于glibc。glibc除了封装linux操作系统所提供的库函数外,它本身也提供了许多其它功能的库函数,主要的如下:(1)string库,字符串处理库函数
(2)signal库,提供信号处理库函数
(3)dlfcn库,管理共享库的动态加载函数库
(4)directory库,文件目录操作函数
(5)elf库,共享库的动态加载器,也即interpreter
(6)iconv,不同字符集的编码转换
(7)sockets,socket接口库
(8)Date and Time,日期和时间
(9)input/output,输入输出流
(10)linux threads库,LINUX线程库函数
(11)locale库,本地化和国际化的接口库
(12)Character库,字符处理
(13)Memory库,动态内存的分配与管理
(14)Processes and job control库,进程和进程控制库
(15)stdlib库,其它基本功能
C语言main函数
main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为:int main (int argc, char *argv[]);
C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。命令本身也属于第一个形参,真正的参数从第二个开始。
一
#include <stdio.h> main(int argc, char *argv[]) { while(argc-- > 1) { printf("%s\n", *++argv); } }
二
#include <stdio.h> #include <stdlib.h> main(int argc, char *argv[]) { int i; printf(“传递了%d个命令行参数给main函数:\n", argc); for(i=0; i<=argc; i++) printf("argv[%d]:%s\n", i, argv[i]); return 0; }
字符测试库
1. isalnum:测试字符是否为英文或数字相关函数: isalpha,isdigit,islower,isupper
表头文件: #include<ctype.h>
定义函数: intisalnum (int c)—字符常量在C语言里是整形常量
函数说明: 检查参数c是否为英文字母或阿拉伯数字,在标准c中相当于使用“isalpha(c)
|| isdigit(c)”做测试。
返回值: 若参数c为字母或数字,则返回TRUE,否则返回NULL(0)。
附加说明: 此为宏定义,非真正函数。
#include < ctype.h> main() { char str[]=”123c@#FDsP[e?”; int i; for (i=0;str[i]!=0;i++ ) if ( isalnum(str[i])) printf(“%c is an alphanumeric character\n”,str[i]); }
注:当用./isalnum *去判断的时候,它会作为一个通配符使用,所以采用两种方法:(1)每个需要测试的字符均用’’表示。(2)如果用*刚表示把来目标中所有文件名称首字母作为测试对象
2. isalpha (测试字符是否为英文字母)
相关函数: isalnum,islower,isupper
表头文件: #include<ctype.h> 定义函数: int isalpha (int c)
函数说明: 检查参数c是否为英文字母,在标准c中相当于使用“isupper(c)||islower(c)”做测试。
返回值: 若参数c为英文字母,则返回TRUE,否则返回NULL(0)。
附加说明: 此为宏定义,非真正函数。
范例 /* 找出str 字符串中为英文字母的字符*/
#include <ctype.h> int main() { char str[] = "123c@#FDsP[e?"; int i; for(i=0; str[i]!=0; i++) { if(isalpha(str[i])) printf("%c is an alphanumeric character\n", str[i]); } }4. isascii(测试字符是否为ASCII 码字符)
相关函数: iscntrl
表头文件: #include <ctype.h>
定义函数: int isascii(int c);
函数说明: 检查参数c是否为ASCII码字符,也就是判断c的范围是否在0到127之间。
返回值: 若参数c为ASCII码字符,则返回TRUE,否则返回NULL(0)。
附加说明: 此为宏定义,非真正函数。
范例 /* 判断int i是否具有对映的ASCII码字符*/
#include <ctype.h> int main() { int i; for(i=0; i<130; i++) { if(isascii(i)) printf("%d is an ascii character;%c\n", i, i); else printf("%d is not an ascii character;%c\n", i); } return 0; }5. iscntrl(测试字符是否为ASCII 码的控制字符)
相关函数 isascii
表头文件 #include <ctype.h>
定义函数 int iscntrl(int c);
函数说明 检查参数c是否为ASCII控制码,也就是判断c的范围是否在0到30之间。
返回值 若参数c为ASCII控制码,则返回TRUE,否则返回NULL(0)。 附加说明 此为宏定义,非真正函数。
6. isdigit(测试字符是否为阿拉伯数字)
相关函数 isxdigit
表头文件 #include<ctype.h>
定义函数 int isdigit(int c)
函数说明 检查参数c是否为阿拉伯数字0到9。
返回值 若参数c为阿拉伯数字,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
7. isgraphis(测试字符是否为可打印字符)
相关函数 isprint
表头文件 #include <ctype.h>
定义函数 int isgraph (int c)
函数说明 检查参数c是否为可打印字符,若c所对应的ASCII码可打印,且非空格字符则返回TRUE。
返回值 若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
8. islower(测试字符是否为小写字母)
相关函数 isalpha,isupper
表头文件 #include<ctype.h>
定义函数 int islower(int c)
函数说明 检查参数c是否为小写英文字母。
返回值 若参数c为小写英文字母,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
9. isprint(测试字符是(否为可打印字符)
相关函数 isgraph
表头文件 #include<ctype.h>
定义函数 int isprint(int c);
函数说明 检查参数c是否为可打印字符,若c所对映的ASCII码可打印,其中包含空格字符,则返回TRUE。返回值 若参数c为可打印字符,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
10. isspace(测试字符是否为空格字符)
相关函数 isgraph
表头文件 #include<ctype.h>
定义函数 int isspace(int c)
函数说明 检查参数c是否为空格字符,也就是判断是否为空格(‘ ‘)、定位字符(’\t’)、CR(‘\r’)回车,将当前位置移到本行开头、换行('\n')、垂直定位字符('\v')或翻页('\f')的情况。 返回值 若参数c为空格字符,则返回TRUE,否则返回NULL(0)。 附加说明 此为宏定义,非真正函数。
11. ispunct(测试字符是否为标点符号或特殊符号)
相关函数 isspace,isdigit,isalpha
表头文件 #inlude<ctype.h>
定义函数 int ispunct(int c)
函数说明 检查参数c是否为标点符号或特殊符号。返回TRUE也就是代表参数c为非空格、非数字和非英文字母。
返回值 v若参数c为标点符号或特殊符号,则返回TRUE,否则返回NULL(0)。 附加说明 此为宏定义,非真正函数。
12. isupper(测试字符是否为大写英文字母)
相关函数 isalpha,islower
表头文件 #include<ctype.h> 定义函数 int isupper(int c)
函数说明 检查参数c是否为大写英文字母。
返回值 若参数c为大写英文字母,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
13. isxdigit(测试字符是否为16进制数字)
相关函数 isalnum,isdigit
表头文件 #include<ctype.h>
定义函数 int isxdigit (int c)
函数说明 检查参数c是否为16进制数字,只要c为下列其中一个情况则返回TRUE。16进制数字:0123456789ABCDEF。
返回值 若参数c为16进制数字,则返回TRUE,否则返回NULL(0)。
附加说明 此为宏定义,非真正函数。
相关文章推荐
- Linux Glibc(学习笔记五)待续。。。。
- Linux Glibc(学习笔记四)
- Linux学习笔记(四)——Linux_shell脚本基础
- 【学习笔记】linux下的c语言的学习
- Zynq-Linux移植学习笔记之15-用户APP直接访问PL物理地址
- linux学习笔记:文件与目录管理
- Linux系统命令及Shell脚本学习笔记二:用户管理
- Linux学习笔记(一)
- linux-shell学习笔记
- (1)Linux入门学习笔记
- Linux学习笔记:什么是x86
- LS5-linux编程规范之学习笔记
- Linux 学习笔记_12_文件共享服务_3_NFS网络文件服务
- Linux Socket 学习笔记19-UDP广播服务器端
- linux学习笔记之开始
- linux学习笔记3--内存检测
- Linux学习笔记之---文件
- Linux用户、用户组、文件权限学习笔记
- c++ 学习笔记(高级linux编程) day5
- LinuxAPP学习笔记---持续更新