📅  最后修改于: 2023-12-03 15:14:03.303000             🧑  作者: Mango
wcsstr()
函数是C++标准库
wchar_t *wcsstr(const wchar_t *str1, const wchar_t *str2);
其中,str1
为要查找的字符串,str2
为要查找的子串。
函数会在str1
中查找第一个出现的str2
字符串,并返回该子串在str1
中的首字符地址,如果找不到则返回NULL
。
需要注意的是,该函数只能用于宽字符,如果要使用普通字符(char),可以使用strstr()
函数。
下面是一个示例程序,演示了如何使用wcsstr()
函数来在一个宽字符字符串中查找一个子串的位置并输出。
#include <iostream>
#include <cwchar>
using namespace std;
int main() {
wstring str1 = L"Hello, world!";
wstring str2 = L"world";
wchar_t *pos = wcsstr(str1.c_str(), str2.c_str());
if (pos != NULL) {
wcout << L"子串 \"" << str2 << L"\" 在 \"" << str1 << L"\" 中的首字符地址为: " << pos - str1.c_str() << endl;
} else {
wcout << L"在 \"" << str1 << L"\" 中找不到子串 \"" << str2 << L"\"。" << endl;
}
return 0;
}
输出:
子串 "world" 在 "Hello, world!" 中的首字符地址为: 7
其中,L
表示定义一个宽字符(wchar_t)字符串,wcout
用于输出宽字符,c_str()
将字符串转化为wchar_t类型的字符指针。