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

2016-02-19 18:33 12 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 != '

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

延伸阅读
标签: ASP
  '*************测字符串长度************** Function CheckStringLength(txt) txt=trim(txt) x = len(txt) y = 0 for ii = 1 to x if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) 255 then '如果是汉字 y = y + 2 else y = y + 1 end if next CheckStringLength = y End Function '************* 截取字符串 ************** f...
标签: 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));     &...
FillString函数有两个参数,一个是用来重复填充的字符,另一个是填充后的字符串长度。然后它返回填充后的字符串,重复次数由填充字符的个数和填充后字符串长度决定。 该函数建立一个循环,循环次数基于所要求的字符串长度。循环步长有参数Value(即用来重复填充的子字符串)的长度决定。该函数把参数Value作为工作字符串,重复后按所要...
如下表:AggregationTableIdName1赵2钱1孙1李2周 如果想得到下图的聚合结果 IdName1赵孙李2钱周 利用SUM、AVG、COUNT、COUNT(*)、MAX 和 MIN是无法做到的。因为这些都是对数值的聚合。不过我们可以通过自定义函数的方式来解决这个问题。 1.首先建立测试表,并插入测试数据: 代码如下: create table AggregationTable(Id int, [Name] varcha...