TCHAR 类型字符串找到指定子字符串
时间: 2023-08-07 07:02:00 浏览: 312
你可以使用 `_tcsstr()` 函数来查找 `TCHAR` 类型的字符串中是否包含指定的子字符串。这个函数在 Windows 的头文件 `tchar.h` 中定义。下面是一个示例代码:
```c++
#include <tchar.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR str[] = _T("Hello, world!");
TCHAR sub[] = _T("world");
// 查找子字符串
TCHAR* p = _tcsstr(str, sub);
if (p != NULL) {
std::cout << "找到了子字符串: " << p << std::endl;
} else {
std::cout << "未找到子字符串" << std::endl;
}
return 0;
}
```
注意,在使用 `_tcsstr()` 函数时,需要将字符串和子字符串都定义为 `TCHAR` 类型。这样可以保证代码在不同的编译环境下都能正常运行。
相关问题
TCHAR 字符串找到子字符串的数字
您可以使用 _tcsstr 函数来查找子字符串在 TCHAR 字符串中的位置,然后使用 _ttoi 函数将子字符串转换为数字。以下是一个示例代码:
```c++
#include <tchar.h>
#include <iostream>
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR str[] = _T("Hello123World");
TCHAR substr[] = _T("123");
TCHAR* p = _tcsstr(str, substr);
if (p != NULL)
{
int num = _ttoi(p);
std::wcout << _T("Found substring at position ") << p - str << _T(", number is ") << num << std::endl;
}
else
{
std::wcout << _T("Substring not found.") << std::endl;
}
return 0;
}
```
在上面的示例中,我们首先声明了一个 TCHAR 类型的字符串 str 和一个 TCHAR 类型的子字符串 substr。然后,我们使用 _tcsstr 函数查找子字符串在字符串中的位置,并将其赋值给指针变量 p。如果子字符串存在,则使用 _ttoi 函数将其转换为整数,并输出结果。否则,输出“Substring not found.”。
TCHAR * 字符串截取
在VC++编程中,我们可以使用CString类的Mid函数来截取TCHAR类型的字符串。Mid函数的第一个参数是截取的起始位置,第二个参数是截取的字符数。例如,如果我们有一个TCHAR类型的字符串str,想要从第3个字符开始截取5个字符,可以使用以下代码:
```cpp
CString cstr(str);
CString subStr = cstr.Mid(2, 5); // 从第3个字符开始截取5个字符
TCHAR* result = subStr.GetBuffer(); // 获取截取后的TCHAR类型字符串
```
另外,如果想要删除TCHAR类型字符串中的空格,可以使用如下代码:
```cpp
void del_sp(TCHAR *src) {
TCHAR *fp = src;
while (*src) {
if (*src != ' ') {
*fp = *src;
fp++;
}
src++;
}
*fp = '\0';
}
```
阅读全文