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是什么意思在线翻译读音例句
发布评论