MSDN中关于CString类成员函数的说明

MSDN中关于CString类成员函数的说明

 

---------------------------------------------------------------------------------------------------------------------------

CString::MakeUpper

void MakeUpper( );

Remarks

备注

Converts this CString object to an uppercase string.

将原对象的所有小写英文字母转换为大写。

(只是将小写的英文字母转换为大写,对于其它的字符不做变化,例如:大写字符,数字,汉字)

Example

实例

The following example demonstrates the use of CString::MakeUpper.

// example for CString::MakeUpper
CString s( "abc" );
s.MakeUpper();
ASSERT( s == "ABC" );

---------------------------------------------------------------------------------------------------------------------------

CString::MakeLower

void MakeLower( );

Remarks

备注

Converts this CString object to a lowercase string.

将原对象的所有大写英文字母转换为小写。

(只是将大写的英文字母转换为小写,对于其它的字符不做变化,例如:小写字符,数字,汉字)

Example

实例

The following example demonstrates the use of CString::MakeLower.

// example for CString::MakeLower
CString s( "ABC" );
s.MakeLower();
ASSERT( s == "abc" );

---------------------------------------------------------------------------------------------------------------------------

CString::MakeReverse

void MakeReverse( );

Remarks

备注

Reverses the order of the characters in this CString object.

将原对象的所有字符颠倒顺序。

Example

实例

The following example demonstrates the use of CString::MakeReverse.

// example for CString::MakeReverse
CString s( "abc" );
s.MakeReverse();
ASSERT( s == "cba" );

---------------------------------------------------------------------------------------------------------------------------

CString::Replace

int Replace( TCHAR chOld, TCHAR chNew );

int Replace( LPCTSTR lpszOld, LPCTSTR lpszNew );

Return Value

返回值

The number of replaced instances of the character. Zero if the string isn't changed.

该函数返回替换的字符数量。如果原对象没有改变则返回0。

Parameters

参数

chOld

The character to be replaced by chNew.

将要被chNew所代替的字符。

chNew

The character replacing chOld.

用来替换chOld的字符。

lpszOld

A pointer to a string containing the character to be replaced by lpszNew.

lpszOld是一个指向字符串的指针,它所包含的字符将被lpszNew所代替。

lpszNew

A pointer to a string containing the character replacing lpszOld.

lpszNew是一个指向字符串的指针,它所包含的字符用来替换lpszOld。

Remarks

备注

Call this member function to replace a character with another. The first prototype of the function replaces instances of chOld with chNew in-place in the string. The second prototype of the function replaces instances of the substring lpszOld with instances of the string lpszNew.

该函数用另外的字符来代替原来的字符。第一种形态,用chNew就地取代chOld。第二种形态,用lpszNew来取代原对象的子链lpszOld。

The string may grow or shrink as a result of the replacement; that is, lpszNew and lpszOld do not have to be equal in length. Both versions perform case-sensitive matches.

替换后的字符串有可能变长,也有可能缩短,也就是说,lpszNew和lpszOld的长度不必相等。两个形态都要区别大小写。

Example

实例

//First example, with old and new equal in length.
//第一个例子,长度相等的情况

CString strZap("C--");
int n = strZap.Replace('-', '+');
ASSERT(n == 2);
ASSERT(strZap == "C++");

//Second example, old and new are of different lengths.
//第二个例子,长度不相等的情况

CString strBang("Everybody likes ice hockey");
n = strBang.Replace("hockey", "golf");
ASSERT(n == 1);
n = strBang.Replace("likes", "plays");
ASSERT(n == 1);
n = strBang.Replace("ice", NULL);
ASSERT(n == 1);
ASSERT(strBang == "Everybody plays  golf");
(这里plays和golf之间是两个空格,如果NULL换成" ",那么就应该是3个空格)

// note that you now have an extra space in your
// sentence. To remove the extra space, include it 
// in the string to be replaced, i.e.,"ice ".
//注意句子中额外的空格。要消除它,那么被替换的字符串应该是"ice "。

---------------------------------------------------------------------------------------------------------------------------

CString::Remove

int CString::Remove( TCHAR ch );

Return Value

返回值

The count of characters removed from the string. Zero if the string isn't changed.

返回原对象中被清除的字符个数。如果原对象没有改变,则返回0。

Parameters

参数

ch

The character to be removed from a string.

需要清除的字符。

Remarks

备注

Call this member function to remove instances of ch from the string. Comparisons for the character are case-sensitive.

该函数用来清除原对象中的字符ch。大小写不等效。

Example

实例

//remove the lower-case letter 't' from a sentence:
//清除句子中的小写t

CString str("This is a test.");
int n = str.Remove('t');
ASSERT(n == 2);
ASSERT(str == "This is a es.");

---------------------------------------------------------------------------------------------------------------------------

CString::Insert

int Insert( int nIndex, TCHAR ch )
throw( CMemoryException );

int Insert( int nIndex, LPCTSTR pstr )
throw( CMemoryException );

Return Value

返回值

The length of the changed string.

返回改变后的字符串长度。

Parameters

参数

nIndex

The index of the character before which the insertion will take place.

用来确定插入的位置。

ch

The character to be inserted.

需要插入的字符。

pstr

A pointer to the substring to be inserted.

需要插入的子链的指针。

Remarks

备注

Call this member function to insert a single character or a substring at the given index within the string. The nIndex parameter identifies the first character that will be moved to make room for the character or substring. If nIndex is zero, the insertion will occur before the entire string. If nIndex is higher than the length of the string, the function will concatenate the present string and the new material provided by either ch or pstr.

该函数用来在原对象中的指定位置插入一个字符或子链。nIndex参数表示第一个为了给插入的字符或子链让位而被移动的字符。如果nIndex 为0,则在原对象的最前面插入。如果nIndex 大于了原对象的长度,该函数就将ch或者pstr连接到原函数的最后面。

Example

实例

//The following example demonstrates the use of CString::Insert.
   CString str("HockeyBest");
   int n = str.Insert(6, "is ");
   ASSERT(n == str.GetLength());
   printf("1: %s/n", (LPCTSTR) str);

   n = str.Insert(6, ' ');
   ASSERT(n == str.GetLength());
   printf("2: %s/n", (LPCTSTR) str);

   n = str.Insert(555, '!');
   ASSERT(n == str.GetLength());
   printf("3: %s/n", (LPCTSTR) str);

//this code generates these lines of output:
//以上代码产生如下的输出:

1: Hockeyis Best
2: Hockey is Best
3: Hockey is Best!

---------------------------------------------------------------------------------------------------------------------------

CString::Delete

int Delete( int nIndex, int nCount = 1 )
throw( CMemoryException );

Return Value

返回值

The length of the changed string.

返回改变后的字符串长度。

Parameters

参数

nIndex

The index of the first character to delete.

表示第一个需要被删除的字符位置。

nCount

The number of characters to be removed.

需要删除的字符个数。

Remarks

备注

Call this member function to delete a character or characters from a string starting with the character at nIndex. If nCount is longer than the string, the remainder of the string will be removed.

该函数用来删除原对象中从第nIndex+1个字符开始的nCount 个字符。如果nCount比字符串(应该是从第nIndex+1个字符开始的子链)的字符个数大,那么删除的就是从nIndex+1个字符开始的所有字符。

Example

实例

//The following example demonstrates the use of CString::Delete.
   str2 = "Hockey is best!";
   printf("Before: %s/n", (LPCTSTR) str2);
   int n = str2.Delete(6, 3);
   printf("After: %s/n", (LPCTSTR) str2);
   ASSERT(n == str2.GetLength());

//this code generates this line of output:

Before: Hockey is best!
After: Hockey best!

---------------------------------------------------------------------------------------------------------------------------

CString::Format

void Format( LPCTSTR lpszFormat, ... );

void Format( UINT nFormatID, ... );

Parameters

参数

lpszFormat

A format-control string.

格式控制字符串。

nFormatID

The string resource identifier that contains the format-control string.

包含格式控制字符串的字符串资源标记。

Remarks

备注

Call this member function to write formatted data to a CString in the same way that sprintf formats data into a C-style character array. This function formats and stores a series of characters and values in the CString. Each optional argument (if any) is converted and output according to the corresponding format specification in lpszFormat or from the string resource identified by nFormatID.

该函数将数据格式化为CString对象,其用法和使用sprintf函数将数据格式化为C语言风格的字符数组一样。该函数将一连串的字符和数值格式化并存放到CString对象中。某变量(如果有)被转换,并且按照lpszFormat或者字符串资源标记nFormatID规定的格式输出。

The call will fail if the string object itself is offered as a parameter to Format. For example, the following code:

如果CString对象本身被当作参数提供给Format,那么函数会调用失败。例如下面的代码:

CString str = "Some Data";
str.Format("%s%d", str, 123);

// Attention: str is also used in the parameter list.
//注意:str也被用作参数

will cause unpredictable results.

将导致不可预知的结果。

When you pass a character string as an optional argument, you must cast it explicitly as LPCTSTR. The format has the same form and function as the format argument for the printf function. (For a description of the format and arguments, see printf in the Run-Time Library Reference.) A null character is appended to the end of the characters written.

当把字符串当作参数传递的时候,必须象LPCTSTR一样明确地声明它。其格式和功能与printf的形参一样(关于格式和参数的说明,参阅Run-Time Library Reference中的sprintf函数)。写入字符的末端没有字符被添加。

For more information, see sprintf in the Run-Time Library Reference.

更多说明参阅Run-Time Library Reference(运行库参考手册)中的sprintf函数。

Example

实例

CString str;

str.Format(_T("Floating point: %.2f/n"), 12345.12345);
_tprintf("%s", (LPCTSTR) str);

str.Format(_T("Left-justified integer: %.6d/n"), 35);
_tprintf("%s", (LPCTSTR) str);

str.Format(IDS_SCORE, 5, 3);
_tprintf("%s", (LPCTSTR) str);
   

Output

输出

If the application has a string resource with the identifier IDS_SCORE that contains the string "Penguins: %d/nFlyers : %d/n", the above code fragment produces this output:

如果使用包含字符串"Penguins: %d/nFlyers : %d/n"的字符串资源标识符IDS_SCORE,则上面的代码将产生如下输出:

Floating point: 12345.12
Left-justified integer: 000035
Penguins: 5
Flyers : 3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值