永发信息网

c++ strstr() 函数具体怎么用,比方说内部传入什么变量,返回值是什么,还有和find()函数的区别。

答案:1  悬赏:70  手机版
解决时间 2021-01-29 00:10
  • 提问者网友:雾里闻花香
  • 2021-01-27 23:39
c++ strstr() 函数具体怎么用,比方说内部传入什么变量,返回值是什么,还有和find()函数的区别。
最佳答案
  • 五星知识达人网友:冷風如刀
  • 2021-01-28 01:08
strstr 从一个字符串中查找子字符串。
第一个参数是待查找字符串的地址,第二个参数是被查找子字符串的地址。
返回待查找字符串中子字符串的首字符地址。如果子字符串不存在则返回空指针。
char str[] = "abcdefghijklmn";
char str1[] = "efg";
char str2[] = "hijk";
char str3[] = "nop";
char *pstr1, *pstr2, *pstr3;
pstr1 = strstr(str, str1);
pstr2 = strstr(str, str2);
pstr3 = strstr(str, str3);
printf("%s, %s, %s", pstr1, pstr2, pstr3);
输出:
efghijklmn, hijklmn, (null)追问和find的区别呢。还有,您是否知道用这个函数如何在《阿狸的打字机》中得到70分的。追答find 是 C++ 的 string 类中的函数。返回的值是该子字符串在查找字符串中出现的位置:
string str("abcdefghijklmn");
string str1("efg");
string str2("hijk");
string str3("nop");
size_t nch1, nch2, nch3;

nch1 = str.find(str1);
nch2 = str.find(str2);
nch3 = str.find(str3);
if (nch1 != string::npos)
cout<if (nch2 != string::npos)
cout<if (nch3 != string::npos)
cout<输出:
efg at: 4
hijk at: 7

注意,第三行没有输出。当未找到字符串时,该 nch3 的值为 -1。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯