你的a.substr(0.2);应该改为:a.substr(0,2);
网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了佛坪免费建站欢迎大家使用!
basic_string::substr
basic_string substr(size_type _Off = 0,size_type _Count = npos) const;
功能:从一个字符串复制一个从指定位置开始,并具有指定长度的子字符串。
参数
_Off
所需的子字符串的起始位置。字符串中第一个字符的索引为 0,默认值为0.
_Count
复制的字符数目
返回值
一个子字符串,从其指定的位置开始
备注
如果 length 为 0 或负数,将返回一个空字符串。如果没有指定该参数,则子字符串将延续到字符串的结尾。
示例
下面的示例阐释了 substr 方法的用法。
function SubstrDemo(){
var s, ss; //Declare variables.
var s = "The rain in Spain falls mainly in the plain.";
ss = s.substr(12, 5); //Get substring.
return(ss); // Returns "Spain".
---------------------------------------------------------------
s.substr(12)的结果是 Spain falls mainly in the plain.
char *mystrstr(char *str, char *substr)
{
int i, j, k=0, len1=0, len2=0;
while (str[len1]) len1++;
while (substr[len2]) len2++;
for (i=0; ilen1-len2; i++)
{
k=1;
for (j=0; substr[j]; j++)
{
if (substr[j]!=str[i+j])
{
k=0;
break;
}
}
if (k) break;
}
if (k) return str+i;
else return NULL;
}
这个题可有点意思。总的功能是字符串反序输出。
第一个函数比较简单,取一个函数的一部分,前两个参数不用说了,第三个参数是从哪开始截取,第四个参数是截取多长,截取的部分存到第一个字符串里面。
第二个函数是个递归函数,当字符串长度为1时,打印并返回;
否则先截取字符串的第一个字符,存在t[]里面,然后截取从第二个字符开始的剩余部分字符串,还存到s[]里面,这样s字符串就变短了1;函数返回时,是将截取下来的第一个字符放到字符串尾部。
接下来就简单了,比如s[]="ABC"
那么第一次调char *f31(char *s),会把A放到t[]里,这时s[]="BC";然后再调char *f31(char *s),把B放到t[]里,s=[C],最后一次调char *f31(char *s),直接打印C;返回之后,将B放到字符串后面,返回,然后再将C放到字符串后面,返回,最后打印出来的就是反序字符串了。
总的来说是比较神奇的方法。
c语言标准库里面没这个函数,如果你在代码中看到了这个函数,那一定是自定义的,没办法讲解用法。
但是c++里面有这个方法(从根本上来说应该叫方法,不是函数),我给你讲讲c++里面这个函数的用法吧:
这个函数的原型是:basic_string substr( size_type index, size_type num = npos );
substr()返回本字符串的一个子串,从index开始,长num个字符。如果没有指定,将是默认值
string::npos。这样,substr()函数将简单的返回从index开始的剩余的字符串。
例如:
string s("What we have here is a failure to communicate");
string sub = s.substr(21);
cout "The original string is " s endl;
cout "The substring is " sub endl;
显示:
The original string is What we have here is a failure to communicate
The substring is a failure to communicate
没有这个函数。
strstr()函数用来检索子串在字符串中首次出现的位置,其原型为:
char *strstr( char *str, char * substr );
【参数说明】str为要检索的字符串,substr为要检索的子串。
【返回值】返回字符串str中第一次出现子串substr的地址;如果没有检索到子串,则返回NULL。
头文件:#include string.h
【函数示例】strstr()函数的使用。
#includestdio.h
#includestring.h
int main(){
char *str = "";
char *substr = "see";
char *s = strstr(str, substr);
printf("%s\n", s);
return 0;
}
运行结果:
see.xidian.edu.cn/cpp/u/xitong/
void substr(char s[], int start, int len)
{
char * r = s;
if( start 0 || len 0)
return;
int ct = 0;
while( *s != '\0' ct start )
s++,ct++;
ct = 0;
while( *s != '\0' ct len)
*r++ = *s++,ct++;
*r='\0';
}
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款