㈠ strstr函數全稱
在C語言中 strchr 和 strstr函數都被包含在<string.h>頭文件中,也就是要調用它們時要在程序前麵包含<string.h>頭文件,也就是寫這個語句:#include<string.h>
strchr函數原型:char * strchr(char * str, int ch); 功能就是找出在字元串str中第一次出項字元ch的位置,找到就返回該字元位置的指針(也就是返回該字元在字元串中的地址的位置),找不到就返回空指針(就是 null)。
strstr 函數原型: char * strstr(char * str1,char * str2);功能就是找出在字元串str1中第一次出項字元串str2的位置(也就是說字元串sr1中要包含有字元串str2),找到就返回該字元串位置的指針(也就是返回字元串str2在字元串str1中的地址的位置),找不到就返回空指針(就是 null)。
它們一個是求一個字元在字元串中得位置,另一個是求一個字元串在另一個字元串中的位置。
這些在C語言書最後面中都有的,你要學會去多看看書,要會自己解決問題。學編程是要有耐心的,學久了就會懂了。
㈡ 關於strstr函數功能的問題
char *strstr(const char *s1, const char *s2); /* C only */const char *strstr(const char *s1, const char *s2); // C++ only
char *strstr(char *s1, const char *s2); // C++ only
wchar_t * wcsstr(const wchar_t *s1, const wchar_t *s2);unsigned char * _mbsstr(const unsigned char *s1, const unsigned char *s2);DescriptionScans a string for the occurrence of a given substring.strstr scans s1 for the first occurrence of the substring s2.Return Valuestrstr returns a pointer to the element in s1, where s2 begins (points to s2 in s1). If s2 does not occur in s1, strstr returns null.可見返回值是S2在s1中出現的起始位置指針;或者是空指針
㈢ strstr函數用法
strstr返回子串is出現的首地址, 保存在q中.
strcpy(q,q+i); 把跳過is後的所有內容復制到q開始的地址上, 即拋棄一個"is"串.
㈣ strstr()用法
C++函數原型:
const char * strstr ( const char * str1, const char * str2 );
char * strstr ( char * str1, const char * str2 );
C函數原型:
char * strstr ( const char *, const char * );
a字元串里 查看是否有b字元串,
有則 從首次發現b字元串處 返回 a字元串。
沒有則輸出 null
例子:
char st[]="abc 1234 xyz";
printf("%s",strstr(st,"34") );
列印出:
34 xyz
(4)javastrstr函數擴展閱讀
#include<syslib.h>
#include<string.h>
main()
{
char*s="GoldenGlobalView";
char*l="lob";
char*p;
clrscr();
p=strstr(s,l);
if(p)
printf("%s",p);
else
printf("NotFound!");
getchar();
return0;
}
//功能:從字串」 string1 onexxx string2 oneyyy」中尋找」yyy」
(假設xxx和yyy都是一個未知的字串)
char*s=」string1onexxxstring2oneyyy」;
char*p;
p=strstr(s,」yyy」);
if(p!=NULL)
printf(「%s」,p);
else
printf("notfound ");
㈤ 關於strstr函數查找字元竄的所在位置。
strstr(a, b)是字元串查找或者叫字元串匹配函數:在a中查找b,若找到則返回第一次出現的位置,若找不到則返回空指針。
例如:
chara[]="helloworld";
charb[]="lo";
char*p=strstr(a,b);//p指向的是字元串"loworld"
intlen=strlen(p);//len值為字元串"loworld"的長度
intlen2=strlen(a)+1-len;//len2的值為字元串"hel"的長度+1,即為4
明白了沒,printf("%d",strlen(a)+1-strlen(strstr(a,b)))的意思就是列印字元串b在字元串a中第一次出現位置之前的字元個數+1。
㈥ strstr函數的問題
char * __cdecl strstr (
const char * str1,
const char * str2
)
{
char *cp = (char *) str1;
char *s1, *s2;
if ( !*str2 )
return((char *)str1);
while (*cp)
{
s1 = cp;
s2 = (char *) str2;
while ( *s1 && *s2 && !(*s1-*s2) )
s1++, s2++;
if (!*s2)
return(cp);
cp++;
}
return(NULL);
}
㈦ strchr與strstr函數
char
*strchr(char
*str,
char
c);
在一個串中查找給定字元的第一個匹配之處
char
*strstr(char
*str1,
char
*str2);
在串中查找指定字元串的第一次出現
區別就是一個是招字元,一個是找字元串
#include
<string.h>
#include
<stdio.h>
int
main(void)
{
char
string[15];
char
*ptr,
c
=
'r';
strcpy(string,
"This
is
a
string");
ptr
=
strchr(string,
c);
if
(ptr)
printf("The
character
%c
is
at
position:
%d\n",
c,
ptr-string);
else
printf("The
character
was
not
found\n");
return
0;
}
#include
<stdio.h>
#include
<string.h>
int
main(void)
{
char
*str1
=
"Borland
International",
*str2
=
"nation",
*ptr;
ptr
=
strstr(str1,
str2);
printf("The
substring
is:
%s\n",
ptr);
return
0;
}
㈧ js strstr函數轉到java中應該怎麼寫
JAVA中
String data=...;
String name=....;
data += name.substring(0, 12);
㈨ strstr函數的用法。。。。。。。。。。。。。。。
trchr與strstr函數
strchr函數的語法格式怎麼用?它的作用與strstr函數有什麼區別?
在C語言中 strchr 和 strstr函數都被包含在<string.h>頭文件中,也就是要調用它們時要在程序前麵包含<string.h>頭文件,也就是寫這個語句:#include<string.h>
strchr函數原型:char * strchr(char * str, int ch); 功能就是找出在字元串str中第一次出項字元ch的位置,找到就返回該字元位置的指針(也就是返回該字元在字元串中的地址的位置),找不到就返回空指針(就是 null)。
strstr 函數原型: char * strstr(char * str1,char * str2);功能就是找出在字元串str1中第一次出項字元串str2的位置(也就是說字元串sr1中要包含有字元串str2),找到就返回該字元串位置的指針(也就是返回字元串str2在字元串str1中的地址的位置),找不到就返回空指針(就是 null)。
它們一個是求一個字元在字元串中得位置,另一個是求一個字元串在另一個字元串中的位置。
㈩ 用strstr函數分割字元串
懶人應該用懶的辦法,直接想辦法把空格替換成'\0',替換成''0'之前把各個漢語拼音的第一個之母位置獲取,就可以輸出啦
//============非懶人辦法====
#include<string.h>
void my_strcpy(char*dst,const char*src)
{
while(*src != ' ' && *src != '\0'
{
*dst++ = *src++;
}
*dst = 0; //未作越界判斷哦
}
void main()
{
const char * s="tian shang ren jian";
char p[5][16];
const char *p1;
for(int i=0,p1=s; i<4 && p1 != NULL; i++)
{
my_strcpy(p[i],p1);
printf("p[%d]=%s\n",i,p[i]);
p1 = strstr(p1," ");
if(p1) p1++;
}
}