您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 第7章 Linux编程―字符串处理与数学计算函数
LinuxLinux操作系统操作系统•大工软件学院嵌入式系邱铁办公楼409Tel:87571521E_mail:qiutie@sohu.com第7章Linux编程—字符串处理与数学计算函数•Linux字符串处理函数Index查找字符串中第一个出现的指定字符示例解析•#includestring.h•main()•{•char*s=0123456789012345678901234567890;•char*p;•p=index(s,'5');•printf(%s\n,p);•}memcpy(拷贝内存内容)示例解析•#includestring.h•main()•{•chara[30]=string(a);•charb[30]=stringb\0stringb;•inti;•strcpy(a,b);•printf(strcpy():);•for(i=0;i30;i++)•printf(%c,a[i]);•memcpy(a,b,30);•printf(\nmemcpy():);•for(i=0;i30;i++)•printf(%c,a[i]);•}memccpy(拷贝内存内容)表头文件#includestring.h定义函数void*memccpy(void*dest,constvoid*src,intc,size_tn);函数说明memccpy()用来拷贝src所指的内存内容前n个字节到dest所指的地址上。与memcpy()不同的是,memccpy()会在复制时检查参数c是否在src所指的内存内容中出现,如果是则中断复制。返回值返回指向dest中值为c的下一个字节指针。返回值为0表示在src所指内存前n个字节中没有值为c的字节。示例解析•#includestring.h•main()•{•chara[]=string[a];•charb[]=string(b);•char*p;•p=memccpy(a,b,'b',sizeof(b));•printf(memccpy():%s\n,a);•printf(p:%s\n,p);•}Memchr在某一内存范围中查找一特定字符示例解析•#includestring.h•main()•{•char*s=0123456789012345678901234567890;•char*p;•p=memchr(s,'5',10);•printf(%s\n,p);•}memcmp(比较内存内容)示例解析•#includestring.h•main()•{•char*a=aBcDeF;•char*b=AbCdEf;•char*c=aacdef;•char*d=aBcDeF;•printf(memcmp(a,b):%d\n,memcmp((void*)a,(void*)b,6));•printf(memcmp(a,c):%d\n,memcmp((void*)a,(void*)c,6));•printf(memcmp(a,d):%d\n,memcmp((void*)a,(void*)d,6));•}memset(将一段内存空间填入某值)示例解析•#includestring.h•main()•{•chars[30];•memset(s,'A',sizeof(s));•s[30]='\0';•printf(%s\n,s);•}Rindex查找字符串中最后一个出现的指定字符示例解析•#includestring.h•main()•{•char*s=0123456789012345678901234567890xxxxx;•char*p;•p=rindex(s,'5');•printf(%s\n,p);•}strcat(连接两字符串)示例解析•#includestring.h.•main()•{•chara[30]=string(1);•charb[]=string(2);•printf(beforestrcat():%s\n,a);•printf(afterstrcat():%s\n,strcat(a,b));•}strcspn(返回字符串中连续不含指定字符串内容的字符数)示例解析•#includestring.h•main()•{•char*str=Linuxwasfirstdevelopedfor386/486-basedpcs.;•printf(%d\n,strcspn(str,));•printf(%d\n,strcspn(str,/-));•printf(%d\n,strcspn(str,1234567890));•}执行结果strdup(复制字符串)示例解析•#includestring.h•main()•{•chara[]=strdup;•char*b;•b=strdup(a);•printf(b[]=\%s\\n,b);•}strlen(返回字符串长度)示例解析•/*取得字符串str的长度*/•#includestring.h•main()•{•char*str=12345678;•printf(strlength=%d\n,strlen(str));•}Strstr在一字符串中查找指定的字符串示例解析•#includestring.h•main()•{•char*s=012345678901234567890123456789;•char*p;•p=strstr(s,901);•printf(%s\n,p);•}strtok(分割字符串)示例解析•#includestring.h•main()•{•chars[]=ab-cd:ef;gh:i-jkl;mnop;qrs-tu:vwx-y;z;•char*delim=-:;•char*p;•p=strtok(s,delim);•while(p!=NULL)•{•printf(%s\n,p);•p=strtok(NULL,delim);•}•}•Linux数学计算函数abs(计算整型数的绝对值)示例解析•#includestdlib.h•main(){•intvar;•var=abs(-12);•printf(|-12|=%d\n,var);•}cos(取余玄函数值)示例解析•#includemath.h•main()•{•doubleanswer=cos(0.5);•printf(cos(0.5)=%f\n,answer);•}sin(取正玄函数值)示例解析•#includemath.h•main()•{•doubleanswer=sin(0.5);•printf(sin(0.5)=%f\n,answer);•}tan(取正切函数值)示例解析•#includemath.h•main()•{•doubleanswer=tan(0.5);•printf(tan(0.5)=%f\n,answer);•}acos(取反余弦函数数值)示例解析•#includemath.h•main(){•doubleangle;•angle=acos(0.5);•printf(angle=%f\n,angle);•}asin(取反正弦函数值)示例解析•#includemath.h•main()•{•doubleangle;•angle=asin(0.5);•printf(angle=%f\n,angle);•}atan(取反正切函数值)示例解析•#includemath.h•main()•{•doubleangle;•angle=atan(1);•printf(angle=%f\n,angle);•}ceil(取不小于参数的最小整型数)示例解析•#includemath.h•main()•{•doublevalue[]={4.8,1.12,-2.2,0};•inti;•for(i=0;value[i]!=0;i++)•printf(%f=%f\n,value[i],ceil(value[i]));•}exp(计算指数)示例解析•#includemath.h•main()•{•doubleanswer;•answer=exp(10);•printf(e^10=%f\n,answer);•}frexp(将浮点型数分为底数与指数)示例解析•#includemath.h•main()•{•intexp;•doublefraction;•fraction=frexp(1024,&exp);•printf(exp=%d\n,exp);•printf(fraction=%f\n,fraction);•}ldexp(计算2的次方值)示例解析•/*计算3*(2^10)=3072*/•#includemath.h•main()•{•intexp;•doublex,answer;•answer=ldexp(3,10);•printf(3*2^(10)=%f\n,answer);•}log(计算以e为底的对数值)示例解析•#includemath.h•main()•{•doubleanswer;•answer=log(100);•printf(log(100)=%f\n,answer);•}log10(计算以10为底的对数值)示例解析•#includemath.h.•main()•{•doubleanswer;•answer=log10(10000);•printf(log10(10000)=%f\n,answer);•}sqrt(计算平方根值)示例解析•/*计算200的平方根值*/•#includemath.h•main()•{•doubleroot;•root=sqrt(200);•printf(answeris%f\n,root);•}pow(计算次方值)示例解析•#includemath.h•main()•{•doubleanswer;•answer=pow(3,5);•printf(3^5=%f\n,answer);•}
本文标题:第7章 Linux编程―字符串处理与数学计算函数
链接地址:https://www.777doc.com/doc-5476672 .html