#include <string>
#include <tchar.h> // _TCHAR
#include <stdlib.h>
#include <iostream>
#include <atlstr.h> //Cstring
#include <atlconv.h> //W2A宏
#include <xstring> using namespace std; int _tmain(int argc,_TCHAR* argv[])
{
/**********string->cstring ***********/
//setlocale(LC_ALL, "Chinese-simplified");
//wcout.imbue(locale("chs"));
//std::string str = "123456!";
//CString cstr = _T("");
//方式一
//cstr.Format(_T("%s"),str.c_str());
//方式二
//for(int i = 0; i < (int)str.length(); ++i)
//{
// cstr += str[i];
//}
//方式三
//cstr = str.c_str();
//wcout << cstr << endl; /************ cstring->string **************/
//方式一
//CString cstr1 = _T("this is cstring!");
//string str1 = "";
//str1 = cstr1.GetBuffer();
//cstr1.ReleaseBuffer();
//方式二
//for (int i = 0; i < cstr1.GetLength(); ++i)
//{
// str1 += cstr1[i];
//}
//方式三 W2A宏
//str1 = W2A(cstr1);//用法还没弄懂,需要加入一些文件头 或宏定义 ??? //cout << str1 << endl; /************* string-> char*************/
//string str2 = "this is string2!";
//方式一
//char *p = (LPSTR)str2.c_str();
//方式二
//char t[200];
//memset(t, 0,200);
//strcpy(t,str2.c_str());
//方式三 出现warning C4305: “=”: 从“int”到“char”截断 ???
//char *pc = new char[str2.length() + 1];
//pc[str2.length()] = '/0';
//for (int i = 0; i < str2.length(); ++i)
//{
// pc[i] = str2[i];
//}
//pc[str2.length()] = '/0';
//cout << pc << endl; /****************** char*->string ******************/
//char *pch = "this a char!";
//方式一 只能用作初始化
//string str3(pch);
//方式二 assign()赋值
//string str3;
//str3.assign(pch);
//cout << str3 << endl; //string是ansi编码字符char
//TCHAR是unicode编码字符wchar_t
/*********** string -> TCHAR* *********/
//使用MultiByteToWideChar()函数 /*********** TCHAR* ->string *********/
//使用 WideCharToMultiByte()函数 /**************** string 和char*转int ******************/
//int atoi(const char *nptr);
//long atol(const char *nptr);
//long long atoll(const char *nptr);
//long long atoq(const char *nptr); /*******************int转char*和string************************/
//使用itoa();itoa(i,str,10); /******************* wstring转Csting *****************/
//wstring wstr = L"this a wstring!你好啊";
//CString cstr4 = _T("");
//cstr4 = wstr.c_str();
//cout << cstr4 << endl; /******************* Csting ->wstring *****************/
//CString cstr5 = _T("this a cstring5!");
//wstring wstr5 = L"";
//wstr5 = cstr5.AllocSysString();
//wcout << wstr5 << endl; /********* Cstring转char* *************/
//CString cstr6 = _T("this cstring6!");
//char* pch6 = "";
//pch6 = cstr6.GetBuffer();
//cout << pch6 << endl;
//cstr6.ReleaseBuffer(); /************ char *转Cstring **********/
//char pch[20] = "this a char* !";
//CString str7 = _T("");
//str7.Format("%s",pch);
//cout << str7 << endl; /*********** TCHAR -> char ************/
//TCHAR *pTch = _T("this a TCHAR");
//int nLength = 2 * strlen(pTch);
//char* pCh = new char[nLength + 1];
//memset(pCh,0, nLength + 1);
//strcpy(pCh, pTch);
//cout << pCh << endl; /*********** char转tchar ************/ system("pause");
return ;
}

cstring、string、wstring、int、char*、tchar、 int、dword等相互转换代码输出测试的更多相关文章

  1. Linux基本数据类型大小——int,char,long int,long long int

    转自:http://paddy-w.iteye.com/blog/1403217 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h ...

  2. CString string char* char 之间的字符转换(多种方法)

    在写程序的时候,我们经常遇到各种各样的类型转换,比如 char* CString string 之间的互相转换.首先解释下三者的含义. CString 是一种很有用的数据类型.它们很大程度上简化了MF ...

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

    int 转 CString:CString.Format("%d",int);...............................string 转 CString CSt ...

  4. 计算机基础--Java中int char byte的关系

    计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...

  5. unicode下各种类型转换,CString,string,char*,int,char[]

    把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充: 1.string转CString string a=”abc”; CString str=CString(a.c_str() ...

  6. VC++中的CString、char、int类型转换

    1.如何将CString类型的变量赋给char*类型的变量   方法一:GetBuffer函数  使用CString::GetBuffer函数.  char *p;  CString str=&quo ...

  7. QString, string, int, char* 之间相互转换

    这三种数据类型在实际运用中经常需要互相转换,那么这里小结下它们之间的转换方法: - Qstring & string Qt中封装的类十分强大,其成员函数数量之多比STD有过之而无不及,许多程序 ...

  8. [转] java中int,char,string三种类型的相互转换

    原文地址:http://blog.csdn.net/lisa0220/article/details/6649707 如何将字串 String 转换成整数 int? int i = Integer.v ...

  9. java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

随机推荐

  1. QT安装在VS2008中的方法

    (一)工欲善其事,必先利其器,废话不多讲. 原文:http://www.cnblogs.com/zwq194/archive/2011/02/19/1958713.html 总结起来网上流行的VS20 ...

  2. html5 canvas实现图片玻璃碎片特效

    今天要为大家带来一款html5 canvas实现的图片玻璃碎片特效.图片以玻璃碎片的形式出现到界面中,然后似玻璃被打碎的效果渐消息.效果图如下: 在线预览   源码下载 实现代码: html代码: & ...

  3. 【Unity/SVN】使用SVN管理Unity项目

    本文转载自:http://blog.csdn.net/neil3d/article/details/38437237 Unity提供了自己的XXXServer,不过大家评论好像不是很好用,主要是不支持 ...

  4. sqlserver被锁的表以及如何解锁

    查看sqlserver被锁的表以及如何解锁   查看被锁表: select   request_session_id   spid,OBJECT_NAME(resource_associated_en ...

  5. jQuery插件 -- Form表单插件jquery.form.js<转>

    jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxForm() 和 ajaxSubmi ...

  6. stm8s + si4463 寄存器配置

    /***********************************************函 数: main功 能: 程序入口输 入: /输 出: /描 述: /**************** ...

  7. Spring 网路搜集的情报

    Spring Validate http://haohaoxuexi.iteye.com/blog/1812584

  8. 关闭 禁用 Redis危险命令

    Redis的危险命令主要有: flushdb,清空数据库 flushall,清空所有记录,数据库 config,客户端连接后可配置服务器 keys,客户端连接后可查看所有存在的键 我们常常需要禁用以上 ...

  9. vlan pvid vid access口 trunk口

    VLAN技术浅谈    http://www.h3c.com.cn/MiniSite/H3care_Club/Data_Center/Net_Reptile/The_One/Home/Catalog/ ...

  10. ASP.NET四种页面导航方式之比较与选择

    一.超级链接 从一个表单进入另一个表单最简单的方式是使用HTML超级链接控件.在Web表单中,使用超级链接的HTML代码类如: <a href="WebForm2.aspx" ...