ATM是什么意思在线翻译读音例句-英语专业招聘


2023年4月7日发(作者:英语四级成绩单乌夜啼李煜林花谢了春红 )

str函数详解

常⽤str函数详细介绍

#include

usingnamespacestd;

intmain()

{

*

拷贝⼀个字符串到另⼀个

char*strcpy(char*destin,char迟日江山丽 *source);

*/

charstring[10];

char*str1=\"abcdefghi\";

strcpy(string,str1);

printf(\"%sn\",string);

结果:

【总结】常⽤str函数详细介绍

*

字符串拼接

char*strcat(char*destin,char*source);

*/

chardestination[25];

memset(destination,0,25);//将数组内容清0

char*blank=\"\",*c=\"C++\",*Borland=\"Borland\";

strcat(destination,Borland);

strcat(destination,blank);

strcat(destination,c);

printf(\"%sn\",destination);

结果:

【总结】常⽤str函数详细介绍

*

在⼀个串中查找给定字符的第⼀个匹配之处(即下标值)

char*strchr(char*str,charc);

*/

charstring[15];

char*ptr,c=\'r\';

strcpy(string,\"Thisisastring\");

ptr=strchr(string,c);

if(ptr)

printf(\"Thecharacter%cisatposition:%dn\",c,ptr-string);

//ptr-string将ptr转化为string类型

else

printf(\"Thecharacterisnotfound!\");

结果:

【总结】常⽤str函数详细介绍

*

串⽐较

intstrcmp(char*str1,char*str2);

看Asic码,str1>str2,返回值>0;两串相等,返回0,str1

*/

char*str1=\"aaa\",*str2=\"bbb\",*str3=\"ccc\";

intptr;

ptr=strcmp(str1,str2);

if(ptr>0)

printf(\"str1isgreaterthanstr2n\");

else

printf(\"str1islesserthanstr2n\");

ptr=strcmp(str2,str3);

if(ptr>0)

printf(\"str2isgreaterthanstr3n\");

else

printf(\"str2islesserthanstr3n\");

结果:

【总结】常⽤str函数详细介绍

*

intstricmp(char*str1,char*str2);(或者strcmpi)

将两个字符串⽐较,不管⼤⼩写

当str1

当str1=str2时,返回值=0

当str1>str2时,返回值>0

*/

char*str1=\"BBB\",*str2=\"bbb\";

intptr;

ptr=stricmp(str1,str2);

if(ptr>0)

printf(\"str1isgreaterthanstr2n\");

elseif(ptr==0)

printf(\"str1equalsstr2n\");

elseif(ptr<0)

printf(\"str1islesserthanstr2n\");

*☆☆☆

返回⼀个长度,这个长度是在string1中没有出现string2任意字符的从string1头计算的字符串的长度。

intstrcspn(char*str1,char*str2);

*/

char*string1=\"1234567890\";

char*string2=\"647DC8\";

intlength=-1;

length=strcspn(string1,string2);

printf(\"Characterwherestringsintersectisatpostion%dn\",length);

//第⼀个相同的字符是4,string1中前⾯有3个,返回3

结果:

【总结】常⽤str函数详细介绍

*

将串拷贝到新建的位置

char*strdup(char*str);

*/

char*dup_str,*string=\"abcde\";

dup_str=strdup(string);

printf(\"%sn\",dup_str);

free(dup_str);

*

返回指向错误信息的字符串的指针

char*strerror(interrnum);

*/

char*buffer;

buffer=strerror(errno);

printf(\"Error:%sn\",buffer);

*

将⼀个串中指定个数的字符替换成指定字符

char*strnset(char*str,charch,unsignedn);

*/

charstring[55]=\"abcdefghijklmnopqrstuvwxyz\";

//不能使⽤*string,因*string初始化后是个常无题李商隐翻译 量,不能改变其内容,

//也可不指定数组的⼤⼩,即使⽤string[]

charletter=\'x\';

printf(\"stringbeforestrnset:%sn\",string);

strnset(string,letter,20);

printf(\"stringafterstrnset:%sn\",string);

结果:

【总结】常⽤str函数详细介绍

*

在串中查找给定字符集中的字符,返回位置指针

char*strpbrk(char*str1,char*str2);

*/

char*string1=\"abcdefghijklmnopqrstuvwxyz\";

char*string2=\"onm\";

char*ptr;

ptr=strpbrk(string1,string2);

if(ptr)

printf(\"strpbrkfoundfirstcharacter:%cn\",*ptr);//返回m的指针位置.*ptr为m

else

printf(\"strpbrkdidn\'tfindcharacterinsetn\");

结果:

【总结】常⽤str函数详细介绍

*

在串中查找指定字符的最后⼀次出现的位置

char*strrchr(char*str,charc);

*/

charstring[30];

char*ptr,c=\'r\';

strcpy(string,\"Thisisastring!\");

ptr=strrchr(string,c);

if(ptr)

printf(\"Thecharacter%cisatposition:%dn\",c,ptr-string);

else

printf(\"Thecharacterisnotfound!\");

结果:

【总结】常⽤str函数详细介绍

*

串倒转

char*strrev(char*str);

*/

charstring[20]=\"string\";

//不能使⽤*string,因为*string初始化后是个常量,不能改变其内容.还可以string[]

printf(\"Beforestrrev():%sn\",string);

strrev(string);

printf(\"Afterstrrev():%sn\",string);

结果:

【总结】常⽤str函数详细介绍

*

将⼀个串所有字符替换为指定字符

char*strset(char*str,charc);

*/

charstring[10]=\"123456789\";

charc=\'c\';

printf(\"Beforestrset():%sn\",string);

strset(string,c);

printf(\"Afterstrset():%sn\",string);

结果:

【总结】常⽤str函数详细介绍

*☆☆☆

在串中查找指定字符集的⼦集第⼀次与串不匹配的位置(下标)

intstrspn(char*str1,char*str2);

*/

char*string1=\"1234567890\";

char*string2=\"123568\";

intlength;

length=strspn(string1,string2);

printf(\"Characterwherestringsdifferisatposition%dn\",length);

//123匹配,之后不匹配,返回下标3

结果:

【总结】常⽤str函数详细介绍

*

在串中查找指定字符串第⼀次出现的位置(返回该位置的指针)

char*strstr[X6](char*str1,*str2);

*/

char*str1=\"BrolandInternational\",*str2=\"national\",*ptr;

ptr=strstr(str1,str2);

printf(\"Thesubstringis:%sn\",ptr);

结果:

【总结】常⽤str函数详细介绍

*

将字符串转化为dou惠崇春江晚景古诗 ble类型的值

double*strtod[X7](char*str,**endptr);

*/

charinput[80],*endptr;

doublevalue;

printf(\"Enterafloatingpointnunber:\");

gets(input);

value=strtod(input,&endptr);

printf(\"Thestringis%sthenumberis%lfn\",input,value);

*

分解字符串为⼀组字符串

char*strtok(char*str1,char*str2);

str1为待分解的字符串,str2为分隔符字符串

*/

charsentence[]=\"Thisisasentencewith7tokens\";

//cout<<\"Thestringtobetokenizedis:n\"<

printf(\"Thestringtobetokenizedis:n%snnThetokensare:nn\",sentence);

char*tokenPtr=strtok(sentence,\"e\");

while(tokenPtr!=NULL)

{

//cout<

printf(\"%sn\",tokenPtr);

tokenPtr=strtok(NULL,\"e\");

}

//cout<<\"Afterstrtok,sentence=\"<

printf(\"Afterstrtok,sentence=%sn\",sentence);

结果:

【总结】常⽤str函数详细介绍

*

将串转换为长整数

longstrtol(char*str,char**endptr,intbase);

str待转换的字符串;endptr传出参数接受返回值;base范围从⾄,或.参数base代表采的进制⽅式.

将各种进制的数转化为⼗进制长整形

*/

char*string=\"1111\",*endptr;

longlnumber;

lnumber=strtol(string,&endptr,2);

printf(\"string=%slong=%ldn\",string,lnumber);

*

将⼩写字母转化为⼤写形式,返回指向str的指针

char*strupr(char*str);

*/

charstring[]=\"sdgsdfsgdsag\";

printf(\"%sn\",strupr(string));

*

交换相邻两个字节

voidswab(char*from,char*to,intnbytes);

*/

charsource[15]=\"FrankBorland\";

chartarget[15]=\"\";

printf(\"Beforeswab:%sn\",source);

swab(source,target,strlen(source));

printf(\"Thisistarget:%sn\",target);

return0;

}

许永伟

[X1]连同字符串结束标志ch0⼀起拷贝。strlen函数的意思是测试字符串的字符长度,不含字符串结束标志的。

sizeof是个运算符,它的结果是字符串在内存中的所占字节⼤⼩,它要把0算进去的。

[X2]strcat(str1,str2)会先去掉str1的结束符后再把st巫山会鸾凤颠芙蓉帐 r2接连到str1末尾。Str1的空间必须⾄少是strlen(str1)+strlen(s2)+1的值.否则

内存溢出

[X3]查找字符串str中⾸次出现字符c的位置

[X4]⽐较两个字符串⼤⼩。按Asic⽐较,区分⼤⼩写。

[X5]⽐较两个字符串,不区分⼤⼩写。

[X6]可⽤于判断是否包含某⼦串。

[X7]

VC:atof、atoi、atol、gcvt、strtod、strtol、strtoul的详细介绍

atof(将字符串转换成浮点型数)

相关函数

atoi,atol,strtod,strtol,strtoul

表头⽂件

#include

定义函数

doubleatof(constchar*nptr);

函数说明

atof()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,⽽再遇到⾮数字或字符串结束时(\'0\')才结束

转换,并

将结果返回。参数nptr字符串可包含正负号、⼩数点或E(e)来表⽰指数部分,如123.456或123e-2。

返回值

返回转换后的浮点型数。

附加说明

atof()与使⽤strtod(nptr,(char**)NULL)结果相同。

范例

#include

main()

{

char*a=”-100.23”;

char*b=”200e-2”;

floatc;

c=atof(a)+atof(b);

printf(“c=%.2fn”,c);

}

执⾏

c=-98.23

=====================================

atoi(将字符串转换成整型数)

相关函数

atof,atol,atrtod,strtol,strtoul

表头⽂件

#include

定义函数

intatoi(constchar*nptr);

函数说明

atoi()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,⽽再遇到⾮数字或字符串结束时(\'0\')才结束

转换,并

将结果返回。

返回值

返回转换后的整型数。

附加说明

atoi()与使⽤strtol(nptr,(char**)NULL,10);结果相同。

范例

#include

mian()

{

chara[]=”-100”;

charb[]=”456”;

intc;

c=atoi(a)+atoi(b);

printf(c=%dn”,c);

}

执⾏

c=356

===========================================

atol(将字符串转换成长整型数)

相关函数

atof,atoi,strtod,strtol,strtoul

表头⽂件

#include

定义函数

longatol(constchar*nptr);

函数说明

atol()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,⽽再遇到⾮数字或字符串结束时(\'0\')才结束

转换,并

将结果返回。

返回值

返回转换后的长整型数。

附加说明

atol()与使⽤strtol(nptr,(char**)NULL,10);结果相同。

范例

#include

main()

{

chara[]=”1000000000”;

charb[]=”234567890”;

longc;

c=atol(a)+atol(b);

printf(“c=%dn”,c);

}

执⾏

c=1234567890

=========================================

gcvt(将浮点型数转换为字符串,取四舍五⼊)

相关函数

ecvt,fcvt,sprintf

表头⽂件

#include

定义函数

char*gcvt(doublenumber,size_tndigits,char*buf);

函数说明

gcvt()⽤来将参数number转换成ASCII码字符串,参数ndigits表⽰显⽰的位数。gcvt()与ecvt()和fcvt()不同的地⽅在于,gcvt()所转换后

的字符串包

含⼩数点或正负符号。若转换成功,转换后的字符串会放在参数buf指针所指的空间。

返回值

返回⼀字符串指针,此地址即为buf指针。

附加说明

范例

#include

main()

{

doublea=123.45;

doubleb=-1234.56;

char*ptr;

intdecpt,sign;

gcvt(a,5,ptr);

printf(“avalue=%sn”,ptr);

ptr=gcvt(b,6,ptr);

printf(“bvalue=%sn”,ptr);

}

执⾏

avalue=123.45

bvalue=-1234.56

===============================================

strtod(将字符串转换成浮点数)

相关函数

atoi,atol,strtod,strtol,strtoul

表头⽂件

#include

定义函数

doublestrtod(constchar*nptr,char**endptr);

函数说明

strtod()会扫描参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,到出现⾮数字或字符串结束时(\'0\')才结束

转换,并

将结果返回。若endptr不为NULL,则会将遇到不合条件⽽终⽌的nptr中的字符指针由endptr传回。参数nptr字符串可包含正负号、⼩数

点或E(e)来表⽰

指数部分。如123.456或123e-2。

返回值

返回转换后的浮点型数。

附加说明

参考atof()。

===============================================

strtol(将字符串转换成长整型数)

相关函数

atof,atoi,atol,strtod,strtoul

表头⽂件

#include

定义函数

longintstrtol(constchar*nptr,char**endptr,intbase);

函数说明

strtol()会将参数nptr字符串根据参数base来转换成长整型数。参数base范围从2⾄36,或0。参数base代表采⽤的进制⽅式,如base值

为10则采⽤10

进制,若base值为16则采⽤16进制等。当base值为0时则是采⽤10进制做转换,但遇到如\'0x\'前置字符则会使⽤16进制做转换。⼀开始

strtol()会扫描

参数nptr字符串,跳过前⾯的空格字符,直到遇上数字或正负符号才开始做转换,再遇到⾮数字或字符串结束时(\'0\')结束转换,并将结果

返回。若参

数endptr不为NULL,则会将遇到不合条件⽽终⽌的nptr中的字符指针由endptr返回。

返回值

返回转换后的长整型数,否则返回ERANGE并将错误代码存⼊errno中。

附加说明

ERANGE指定的转换字符串超出合法范围。

范例

#include

main()

{

chara[]=”1000000000”;

charb[]=”1000000000”;

charc[]=”ffff”;

printf(“a=%dn”,strtol(a,NULL,10));

printf(“b=%dn”,strtol(b,NULL,2));

printf(“c=%dn”,strtol(c,NULL,16));

}

执⾏

a=1000000000

b=512

c=65535

=================================================

strtoul(将字符串转换成⽆符号长整型数)

相关函数

atof,atoi,atol,strtod,strtol

表头⽂件

#include

定义函数

unsignedlongintstrtoul(constchar*nptr,char**endptr,intbase);

函数说明

strtoul()会将参数nptr字符串根据参数base来转换成⽆符号的长整型数。参数base范围从2⾄36,或0。参数base代表采⽤的进制⽅式,

如base值为10

则采⽤10进制,若base值为16则采⽤16进制数等。当base值为0时则是采⽤10进制做转换,但遇到如\'0x\'前置字符则会使⽤16进制做转

换。⼀开始

strtoul()会扫描参数nptr字符串,跳过前⾯的空格字符串,直到遇上数字或正负符号才开始做转换,再遇到⾮数字或字符串结束时(\'0\')结

束转换,

并将结果返回。若参数endptr不为NULL,则会将遇到不合条件⽽终⽌的nptr中的字符指针由endptr返回。

返回值

返回转换后的长整型数,否则三十六计是哪36计 返回ERANGE并将错误代码存⼊errno中。

附加说明

ERANGE指定的转换字符串超出合法范围。

更多推荐

STR是什么意思在线翻译读音例句