使用Cout输出String和CString对象
2015-10-29 12:51
232 查看
CString和string都是一个类,不同的是CString主要用于MFC或者是ATL编程中,而string则多用于Windows控制台编程中
在实际编程过程中,我们经常用到string或者是CString来保存数据,保存数据的同时,我们也希望把这些保存的数据能够使用输入输出流给输出出来,不过是我们使用Cout标准输出到屏幕,还是使用ofstream输出到文件,我们都需要输出这些对象保存的数据
在实际过程中,我们会遇到三种情况,下面结合遇到的三种情况来说明下如何将CString或者是string对象使用标准的输入输出流输出,特别注意,这里我们讨论的是输入输出流,printf不再讨论之列
?
如果我们直接使用下面的方式输出string的话,在编译时会报错:
?
错误的提示可能很多,但是根本的原因是sTest是string的一个对象,而string没有对”<<“进行运算符重载,那么肯定是不能输出的 那么我们可以使用string的成员函数来输出string对象的内容:
?
因此,我们可以得出:
在WIN32控制台中,我们可以使用string的c_str()成员函数类标准输出string的数据内容
?
上面的例子可以看出,我们可以直接对CString对象进行文件流输出, 但是如果有的MFC程序不支持的话,那么我们需要使用下面的方法来输出CString对象:
?
我们使用CString的GetBuffer得到数据的地址,然后直接输出就可以了
?
从上面的示例代码我们了可以知道:
在ATL项目中,可以使用CT2A宏来输出CString对象
在实际编程过程中,我们经常用到string或者是CString来保存数据,保存数据的同时,我们也希望把这些保存的数据能够使用输入输出流给输出出来,不过是我们使用Cout标准输出到屏幕,还是使用ofstream输出到文件,我们都需要输出这些对象保存的数据
在实际过程中,我们会遇到三种情况,下面结合遇到的三种情况来说明下如何将CString或者是string对象使用标准的输入输出流输出,特别注意,这里我们讨论的是输入输出流,printf不再讨论之列
1.win32控制台程序:
在Win32控制台程序中,我们如果要使用string的话,需要包含头文件:string或者是命名空间:cstring:?
?
?
在WIN32控制台中,我们可以使用string的c_str()成员函数类标准输出string的数据内容
2.在MFC程序中:
在MFC中,我们很少用到Cout来输出,用的比较多的输出是文件流输出,因此我们就以文件流的输出CString对象来举例:?
?
3.ATL项目中
前面有提到过ATL项目,他不同于MFC那么方便,要想输出CString对象的话,需要是用到ATL的宏,?
在ATL项目中,可以使用CT2A宏来输出CString对象
相关文章推荐
- RecyclerView结合CardView使用
- servelet web.xml的规范顺序
- 结构实例化
- mysql 导入导出.sql文件
- eclipse pdt下载
- 解决Error[Pe147]: declaration is incompatible with "__nounwind __interwork __softfp unsigned long __ge
- Java ClassLoader深入讲解
- poj 1462 Find The Multiple
- 几种常用设计模式代码(未完)
- 01-SCOM 2012 R2 安装前准备
- VT not Supported – This computer does not support Intel Virtualization Tech nology (VT0x)......
- 极客学院-PHP001-PHP 基本介绍[3_13]
- 【程序员面试】我的求职之路:9个offer,12家公司,35场面试,最终谷歌
- 《开源博客Q群》和《NET上海Q群》入群须知
- 10 Useful Free CSS Codes For Web Developers
- 夺命雷公狗jquery---38--DWZ左侧折叠菜单实现升级版
- 解决Spring Security 开启remember-me(持久化),session并发控制后重启服务器remember-me持久化凭证消失问题
- android studio 导入so文件出现的问题AND[android]复制 APK 许可证 (同一文件) 中的重复文件
- 运行oltp的应用程序、成块存取等
- 使用ValueAnimator自定义动态XY图表View