MFC中几个有用的字符串操作函数

2016-02-19 18:33 15 1 收藏

人生本是一个不断学习的过程,在这个过程中,图老师就是你们的好帮手,下面分享的MFC中几个有用的字符串操作函数懂设计的网友们快点来了解吧!

【 tulaoshi.com - 编程语言 】

MFC中有几个字符串操作函数很有用,但有的在MSDN中都查不到,因为MSDN没有公布。下面我们来看看它们的用法和声明及定义等。
  
  // 功能 : 格式化字符串
  // 参数 : rString - 输出参数,格式化后的字符串将保存在此字符串中
   !-- frame contents -- !-- /frame contents -- // nIDS - 将进行替换操作的格式字符串的资源ID
  // lpsz1 - 指向将替换格式字符串中“%1”字符的字符串
  // lpsz2 - 指向将替换格式字符串中“%2”字符的字符串
  void AFXAPI AfxFormatString1(CString& rString, UINT nIDS, LPCTSTR lpsz1);
  void AFXAPI AfxFormatString2(CString& rString, UINT nIDS, LPCTSTR lpsz1, LPCTSTR lpsz2);
  // Implementation string helpers
  void AFXAPI AfxFormatStrings(CString& rString, UINT nIDS, LPCTSTR const* rglpsz, int nString);
  void AFXAPI AfxFormatStrings(CString& rString, LPCTSTR lpszFormat, LPCTSTR const* rglpsz, int nString);
  // 功能 : 获取子字符串
  // 参数 : rString - 输出参数,保存子字符串
  // lpszFullString - 源字符串
  // iSubString - 子字符串索引,从0开始计数
  // chSep - 子字符串间的分隔字符,默认为''
  BOOL AFXAPI AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '');
  /////////////////////////////////////////////////
  ////////////////////////////////////////////////
  ///
  // Strings in format ".....%1 .... %2 ...." etc. void AFXAPI AfxFormatStrings(CString& rString, UINT nIDS,
  LPCTSTR const* rglpsz, int nString)
  {
  TCHAR szFormat[256];
  if (!AfxLoadString(nIDS, szFormat) != 0)
  {
  TRACE1("Error: failed to load AfxFormatString string 0x%04x.", nIDS);
  ASSERT(FALSE);
  return;
  }
  AfxFormatStrings(rString, szFormat, rglpsz, nString);
  }
  
  void AFXAPI AfxFormatStrings(CString& rString, LPCTSTR lpszFormat,
  LPCTSTR const* rglpsz, int nString)
  {
  // 计算结果字符串的长度
  int nTotalLen = 0;
  LPCTSTR pchSrc = lpszFormat;
  while (*pchSrc != '

来源:http://www.tulaoshi.com/n/20160219/1618123.html

延伸阅读
标签: Web开发
!-- Writed by Zhong@IECN 2004.3.26 -- script language="javascript" var reIp = /^([01]?\d{1,2}|2[0-4]\d|25[0-5])(\.([01]?\d{1,2}|2[0-4]\d|25[0-5])){3}$/; //IP var reEml = /^[\w\-\.]+@[a-z0-9]+(\-[a-z0-9]+)?(\.[a-z0-9]+(\-[a-z0-9]+)?)*\.[a-z]{2,4}$/i; //E-mail var reTel = /^((\d{2,3}\-)?\d{2,5}\-)?[2-9]...
void Split(CString content, CString pattern, CAtlArrayCString& strlist) {     int iPos = content.Find(pattern), iStart = 0;     while (iPos != -1)     {         strlist.Add(content.Mid(iStart, iPos - iStart));     &...
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getEPnum]') and xtype in (N'FN', N'IF', N'TF')) drop function [dbo].[getEPnum] GO if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[getstrcount]') and xtype in (N'FN...
FillString函数有两个参数,一个是用来重复填充的字符,另一个是填充后的字符串长度。然后它返回填充后的字符串,重复次数由填充字符的个数和填充后字符串长度决定。 该函数建立一个循环,循环次数基于所要求的字符串长度。循环步长有参数Value(即用来重复填充的子字符串)的长度决定。该函数把参数Value作为工作字符串,重复后按所要...
Delphi中的字符串 ——摘自网络 一:各种字符串  字符串是Object Pascal所有数据类型中最有用的类型。许多函数以字符串为传递参数。由于在Delphi中字符串的定义和使用有各种方式,包括Pascal中典型的字符串(String),Delphi支持的长字符串(ANSIString),类似于C语言的字符数组(Array of Char),指向字符的...