#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. iOS cocopods安装使用和安装过程中遇到的问题及解决办法

    在osx 10.11之前cocopods问题不多,但是升级到11之后的版本,之前的cocopods大多用不了,需要重新安装,对于我这种使用测试版系统的技术狂来说,每次都需要重新安装很多东西, 当然,c ...

  2. 混合编程:error LNK2001: unresolved external symbol

    Vs2006+matlab2010rb环境: 1:工具-选项-项目解决方案-VC++目录设置include和lib的路径 2:项目-属性-属性配置-链接器-输入-附加依赖项把库的名字添加进去 VIST ...

  3. 纯css3实现的创意图片放大镜

    今天要给大家分享的的一款用纯css3实现的图片放大镜特效.页面打开五个小图显示于页面.当鼠标经过图片时,当前图片以灰色背景图的形式展示.效果非常不错. 在线预览   源码下载 实现的代码: html代 ...

  4. [转]ViewPager学习笔记(一)——懒加载

    在项目中ViewPager和Fragment接口框架已经是处处可见,但是在使用中,我们肯定不希望用户在当前页面时就在前后页面的数据,加入数据量很大,而用户又不愿意左右滑动浏览,那么这时候ViewPag ...

  5. IS支持解析json

    1. MIME设置:在IIS的站点属性的HTTP头设置里,选MIME 映射中点击”文件类型”-”新类型”,添加一个文件类型:关联扩展名:*.json内容类型(MIME):application/x-j ...

  6. 轻量级ORM框架Dapper应用二:使用Dapper实现CURD操作

    在上一篇文章中,讲解了如何安装Dapper,这篇文章中将会讲解如何使用Dapper使用CURD操作. 例子中使用到的实体类定义如下: using System; using System.Collec ...

  7. .net提供的5种request-response方法一

    .net提供了三种基本方法和两种底层方法来发送http请求和接收http响应,通过这些方法,我们可以模仿在浏览器地址栏输入URL地址访问网页的方法.我们发送http请求,接收服务器返回的响应(通常就是 ...

  8. thinkPHP的优缺点

    适合大量重复的工作,但不太灵活...

  9. 【MySQL】MySQL 常用语法之锁表与解锁表

    mysql 锁表语句: Lock锁整张表: 写锁定: LOCK TABLES products WRITE: 写锁,锁定之后,只有当前线程可以进行读操作和写操作,其他线程读操作和写操作均被堵塞.... ...

  10. URI、URL和URN之间的区别

    URI标识一个事物,URL定位一个事物:然而,位置同样可以标识一个事物,所以,每个URL都是一个 URI,但一个URI并不一定是一个URL. 举例说明 罗杰·佩特 这是我的名字,这是一个标识.它就像一 ...