简析MFC中CString用作C字符串

MFC中CString是一个方便的字符串操作的类, 然而很多函数需要传递字符指针, 这就需要进行CString和普通字符串的转换。

1、CString用作C字符串常量。

直接使用强制类型转换即可, 如:

[cpp] view plaincopy

  1. CString strSports(_T("Hockey is Best!"));
  2. TCHAR sz[1024];
  3. lstrcpy(sz, strSports);

2、用作可修改字符串。要用传递字符指针的函数修改CString。

方法:使用成员GetBuffer和ReleaseBuffer函数。

如:

[cpp] view plaincopy

  1. CString s( "abcd" );
  2. LPTSTR p = s.GetBuffer( 10 );
  3. memset(p, 0x00, 10);// 应当加上这句代码, 否则可能会出现因字符串未初始化而另输出的字符串后有很多“烫烫烫烫”(在读取文件情况下)
  4. strcpy( p, "Hello" ); // directly access CString buffer
  5. s.ReleaseBuffer( );// p 在该代码以后不应继续使用
  6. cout << (LPCTSTR)s
时间: 2024-07-28 17:36:15

简析MFC中CString用作C字符串的相关文章

MFC中cstring,string和char[]的相互转化

int 转 CString:CString.Format("%d",int);...............................string 转 CString CString.format("%s", string.c_str()); 用c_str()确实比data()要好. .......................................char* 转 CString CString.format("%s", cha

实战c++中的string系列--std::string与MFC中CString的转换

搞过MFC的人都知道cstring,给我们提供了很多便利的方法. CString 是一种很有用的数据类型.它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多.不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习. 但是很多情况下,我们还是需要cstring和string的转换. 分两步: 1把cstring转为char数组 2根据char数组,构造自己的string(记得释放内存) std::string CStringT

MFC中CString.Format类详解

在MFC程序中,使用CString来处理字符串是一个很不错的选择.CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串.CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int.float和double这些数字类型转换为CString字符串只需一行代码就可以实现. 先看看Format用于转换的格式字符: %c                 单个字符 %d                 十进制整数(int) %ld         

以Mail_location为例简析Dovecot中的变量格式

参考原文网址:http://wiki2.dovecot.org/MailLocation ????在学习Dovecot参数配置的时候,经常配到需要对变量的格式进行配置.有时候,对一些变量的配置格式不怎么理解.因此,这里主要参考了官方文档,就以mail_location变量的设置格式为例,对Dovecot中常见的变量设置格式进行简析. ????Dovecot中,mail_location的变量配置格式如下: mail_location = mailbox-fomat:path[:key=value

MFC中CString.Format的详细用法

CString 是一个类,这个类是MFC众多类中的一个.这个类有个函数叫Format,这个函数的作用是数据格式转换. Format可以转换的格式字符:(就是说将其他格式的数据类型 转换为CString类型的) %c                 单个字符 %d                 十进制整数(int) %ld                十进制整数(long) %f                 十进制浮点数(float) %lf                十进制浮点数(d

mfc中CString转化为string的方法

LL(1)分析法实验的mfc做到最后因为CString转化为string的问题卡了一个多小时,也是惨,网上各种方法找过都不行.幸亏最后还是找到几行代码搞定了.特此mark一下. USES_CONVERSION; char* s_char = W2A(m_in); inString = s_char;

MFC中CString和int的转换

 int转换为CString: CString csName; int num; csName.Format("%d", num); CString转换为int: CString csName; int num = atoi(csName);

MFC中CString转化为char*

char* convertCStringToChars(CString string) { int nLength=string.GetLength(); char *c=new char[nLength+1]; memset(c,0,nLength+1); WideCharToMultiByte(CP_ACP,0,string,nLength,c,nLength,NULL,NULL); return c; }

从三个方面简析设计中的用户友好

随着用户体验重要性的不断提高,用户友好的概念也得到了越来越多的重视.那么如何在设计中体现出用户友好呢?熊先生觉得,有三点内容是比较重要的: 整个界面的一致性 抓住用户特点 更容易获得帮助 因为最近使用Mockplus比较多,而且觉得这款工具在用户友好方面做的还是不错的,今天就以它作为例子,简单谈一谈自己对这三点的理解. 一.保持整个界面的一致性 这里的一致指的并不是完全的一致.在界面中适当的改变和调整不会让用户觉得太过乏味.然而这种改变和调整如果太激进或是太突然,就会给用户一种穿越了的感觉.我相