CStringT::Replace
Replace には 2 つの種類があります。1 つは、部分文字列の 1 つまたは複数のコピーを別の部分文字列で置き換えます。 両方の部分文字列の終端は null です。 もう 1 つは、文字の 1 つまたは複数のコピーを別の文字で置き換えます。 これらはいずれも、CStringT に格納された文字データを操作します。
int Replace(
PCXSTR pszOld,
PCXSTR pszNew
);
int Replace(
XCHAR chOld,
XCHAR chNew
);
パラメーター
pszOld
置き換えられるする null で終わる文字列へのポインターpszNew。pszNew
置換は null で終わる文字列へのポインターpszOld。chOld
chNew によって置き換えられる文字。chNew
chOld と置き換える文字。
戻り値
置き換えられた文字または部分文字列の数を返します。文字列が変更されていない場合はゼロを返します。
解説
pszNew と pszOld は長さが同じである必要がなく、古い部分文字列のいくつかのコピーは新しいものに変更できるため、Replace は文字列長を変更できます。 この関数は、大文字と小文字を区別します。
CStringT インスタンスには、CString、CStringA、CStringW などがあります。
CStringA の場合、Replace は ANSI 文字またはマルチバイト (MBCS) 文字を処理します。 CStringW の場合、Replace はワイド文字を処理します。
CString、次の表の定数が定義されているかどうかに基づいてコンパイル時に、文字データ型を選択します。
定義済みの定数 |
文字データ型 |
---|---|
_UNICODE |
ワイド文字 |
_MBCS |
マルチバイト文字 |
どちらも |
1 バイト文字 |
両方が の場合 |
未定義 |
使用例
// 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