您的位置:首页 > 运维架构 > Linux

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)。

附加说明 此为宏定义,非真正函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: