CStringT::Replace
具有 Replace的两个版本。通过使用另一个子字符串,第一个版本替换子字符串的一个或多个副本。 两个子字符串Null终止。 通过使用另一个字符,第二个版本替换字符的一个或多个副本。 两个版本都在 CStringT存储的字符数据。
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
参数
pszOld
为 pszNew将替换为一个Null终止的字符串的指针。pszNew
对于替换 pszOld的一个Null终止的字符串的指针。chOld
chNew将替换的字符。chNew
替换 chOld的字符。
返回值
;如果没有更改,则返回字符或子字符串的已替换的实例数或零该字符串。
备注
Replace 能更改字符串长度,因为 pszNew 和 pszOld 不必使用同一长度,这样,条旧子字符串的多个副本可以更改为新的。 函数执行区分大小写匹配。
CStringT 实例的示例是 CString、 CStringA和 CStringW。
为 CStringA,Replace 与ANSI或字节字符集(mbcs)字符一起使用。 为 CStringW,Replace 与宽字符一起使用。
对于 CString,字符数据类型进行选择在编译时,根据常数下表中是否定义。
中定义的常量 |
字符数据类型 |
---|---|
_UNICODE |
宽字符 |
_MBCS |
多字节字符 |
也没有 |
单字节字符 |
高度和宽度 |
未定义 |
示例
// typedef CStringT<TCHAR, StrTraitATL<TCHAR, ChTraitsCRT<TCHAR>>> CAtlString;
CAtlString strBang(_T("Everybody likes epee fencing"));
int n = strBang.Replace(_T("epee"), _T("foil"));
ASSERT(n == 1);
要求
标头: cstringt.h