你的a.substr(0.2);應該改為:a.substr(0,2);
網(wǎng)站建設哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設計、網(wǎng)站建設、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設等服務項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了佛坪免費建站歡迎大家使用!
basic_string::substr
basic_string substr(size_type _Off = 0,size_type _Count = npos) const;
功能:從一個字符串復制一個從指定位置開始,并具有指定長度的子字符串。
參數(shù)
_Off
所需的子字符串的起始位置。字符串中第一個字符的索引為 0,默認值為0.
_Count
復制的字符數(shù)目
返回值
一個子字符串,從其指定的位置開始
備注
如果 length 為 0 或負數(shù),將返回一個空字符串。如果沒有指定該參數(shù),則子字符串將延續(xù)到字符串的結(jié)尾。
示例
下面的示例闡釋了 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)的結(jié)果是 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;
}
這個題可有點意思。總的功能是字符串反序輸出。
第一個函數(shù)比較簡單,取一個函數(shù)的一部分,前兩個參數(shù)不用說了,第三個參數(shù)是從哪開始截取,第四個參數(shù)是截取多長,截取的部分存到第一個字符串里面。
第二個函數(shù)是個遞歸函數(shù),當字符串長度為1時,打印并返回;
否則先截取字符串的第一個字符,存在t[]里面,然后截取從第二個字符開始的剩余部分字符串,還存到s[]里面,這樣s字符串就變短了1;函數(shù)返回時,是將截取下來的第一個字符放到字符串尾部。
接下來就簡單了,比如s[]="ABC"
那么第一次調(diào)char *f31(char *s),會把A放到t[]里,這時s[]="BC";然后再調(diào)char *f31(char *s),把B放到t[]里,s=[C],最后一次調(diào)char *f31(char *s),直接打印C;返回之后,將B放到字符串后面,返回,然后再將C放到字符串后面,返回,最后打印出來的就是反序字符串了。
總的來說是比較神奇的方法。
c語言標準庫里面沒這個函數(shù),如果你在代碼中看到了這個函數(shù),那一定是自定義的,沒辦法講解用法。
但是c++里面有這個方法(從根本上來說應該叫方法,不是函數(shù)),我給你講講c++里面這個函數(shù)的用法吧:
這個函數(shù)的原型是:basic_string substr( size_type index, size_type num = npos );
substr()返回本字符串的一個子串,從index開始,長num個字符。如果沒有指定,將是默認值
string::npos。這樣,substr()函數(shù)將簡單的返回從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
沒有這個函數(shù)。
strstr()函數(shù)用來檢索子串在字符串中首次出現(xiàn)的位置,其原型為:
char *strstr( char *str, char * substr );
【參數(shù)說明】str為要檢索的字符串,substr為要檢索的子串。
【返回值】返回字符串str中第一次出現(xiàn)子串substr的地址;如果沒有檢索到子串,則返回NULL。
頭文件:#include string.h
【函數(shù)示例】strstr()函數(shù)的使用。
#includestdio.h
#includestring.h
int main(){
char *str = "";
char *substr = "see";
char *s = strstr(str, substr);
printf("%s\n", s);
return 0;
}
運行結(jié)果:
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';
}
本文名稱:c語言中substr函數(shù),c++中的substr函數(shù)
網(wǎng)站網(wǎng)址:http://aaarwkj.com/article32/dssjdsc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供動態(tài)網(wǎng)站、網(wǎng)站建設、建站公司、網(wǎng)站設計、網(wǎng)站排名、自適應網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)