C/C++字符串与数字互转的实现
C数字转字符串
intsprintf(char*str,constchar*format,...); charc[10]; sprintf(c,"%d",15);//将整数转换成字符串 //浮点数转字符串,number为要转换的数,ndigit表示要转换的位数 char*gcvt(doublenumber,intndigit,char*buf); //浮点数转字符串,number为要转换的数,ndigit表示要转换的位数,decpt和sign为输出参数,decpt为小数点位 //数,sign为符号。返回转换后的字符串,不含符号和小数点。 char*ecvt(doublenumber,intndigits,int*decpt,int*sign); //fcvt与ecvt不同在于fcvt的ndigit参数表示小数点后的长度 char*fcvt(doublenumber,intndigits,int*decpt,int*sign);
C字符串转数字
intsscanf(constchar*str,constchar*format,...); charstr[]="15.455"; inti; floatfp; sscanf(str,"%d",&i);//将字符串转换成整数i=15 sscanf(str,"%f",&fp);//将字符串转换成浮点数fp=15.455000 intatoi(constchar*nptr); longatol(constchar*nptr); longlongatoll(constchar*nptr); doublestrtod(constchar*nptr,char**endptr); floatstrtof(constchar*nptr,char**endptr); longdoublestrtold(constchar*nptr,char**endptr); longintstrtol(constchar*nptr,char**endptr,intbase); longlongintstrtoll(constchar*nptr,char**endptr,intbase); unsignedlongintstrtoul(constchar*nptr,char**endptr,intbase); unsignedlonglongintstrtoull(constchar*nptr,char**endptr,intbase);
C++字符串转数字
C++11增加std::stoi/stol/stoll等等函数可以转换
C++数字转字符串
C++11增加了全局函数std::to_string,以及std::stoi/stol/stoll等等函数
stringto_string(intval); stringto_string(longval); stringto_string(longlongval); stringto_string(unsignedval); stringto_string(unsignedlongval); stringto_string(unsignedlonglongval); stringto_string(floatval); stringto_string(doubleval); stringto_string(longdoubleval)
string和char*互转
string转char*或char[]
//1.调string的data函数 strings="abc";//data函数不会加结束符'\0'c_str会加 char*p=s.data(); //2.调string的c_str函数 strings="abc"; char*p=s.c_str(); //3.调string的copy函数 strings="abc"; charp[10]; s.copy(p,3,0);//复制3个字符,从0位置开始 p[3]='\0';//需要手动加结束符
char*或char[]转string
strings; char*p="123"; s=p;//直接复制即可
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。