cstring、string、wstring、int、char*、tchar、 int、dword等相互转换代码输出测试
#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等相互转换代码输出测试的更多相关文章
- Linux基本数据类型大小——int,char,long int,long long int
转自:http://paddy-w.iteye.com/blog/1403217 在Linux操作系统下使用GCC进行编程,目前一般的处理器为32位字宽,下面是/usr/include/limit.h ...
- CString string char* char 之间的字符转换(多种方法)
在写程序的时候,我们经常遇到各种各样的类型转换,比如 char* CString string 之间的互相转换.首先解释下三者的含义. CString 是一种很有用的数据类型.它们很大程度上简化了MF ...
- MFC中cstring,string和char[]的相互转化
int 转 CString:CString.Format("%d",int);...............................string 转 CString CSt ...
- 计算机基础--Java中int char byte的关系
计算机基础--Java中int char byte的关系 重要:一个汉字占用2byte,Java中用char(0-65535 Unicode16)型字符来存字(直接打印输出的话是字而非数字),当然要用 ...
- unicode下各种类型转换,CString,string,char*,int,char[]
把最近用到的各种unicode下类型转换总结了一下,今后遇到其他的再补充: 1.string转CString string a=”abc”; CString str=CString(a.c_str() ...
- VC++中的CString、char、int类型转换
1.如何将CString类型的变量赋给char*类型的变量 方法一:GetBuffer函数 使用CString::GetBuffer函数. char *p; CString str=&quo ...
- QString, string, int, char* 之间相互转换
这三种数据类型在实际运用中经常需要互相转换,那么这里小结下它们之间的转换方法: - Qstring & string Qt中封装的类十分强大,其成员函数数量之多比STD有过之而无不及,许多程序 ...
- [转] java中int,char,string三种类型的相互转换
原文地址:http://blog.csdn.net/lisa0220/article/details/6649707 如何将字串 String 转换成整数 int? int i = Integer.v ...
- java中int,char,string三种类型的相互转换
如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...
随机推荐
- CentOS 7 系统下安装gnome图形界面
在安装Gnome 包之前,我们需要先检查下安装源是否正常,因为我们要通过yum命令来安装gnome包, 而yum命令式通过yum 源来下载安装包的. 1.在命令行下输入下面的命令来安装 Gnome 包 ...
- 【Unity笔记】碰撞器(Collision)与触发器(Trigger)的区别
当碰撞器Collision组件身上的属性IsTrigger勾选为True时,该碰撞器就成了触发器. 区别:1.能够产生的回调和函数不同.碰撞器:MonoBehaviour.OnCollisionEnt ...
- 【WPF】Viewbox标签——控件大小适应父容器
需求:图片拉伸至填满Image控件. 使用标签进行嵌套. <Grid> <Viewbox> <Image Name="myImage" /> & ...
- BM和KMP字符串匹配算法学习
BM和KMP字符串匹配算法学习 分类: 研究与学习 字符串匹配BM(Boyer-Moore)算法学习心得 http://www.cnblogs.com/a180285/archive/2011/12/ ...
- jackson2.1.4 序列化 通过给定Class映射 与抽象类的映射
//如果已知想要序列化的类型 可以使用TypeReference来进行处理 //List<MyBean> result = mapper.readValue(src, new TypeRe ...
- 测试markdown编辑器
标题1 标题2 +++ 第一件事 +++ 第二件事 +++ 第三件事 |head|头|头栏| |body|body|body|
- Java类对象数组声明和初始化
Java是纯面向对象语言.类是其重要构成单位. 然后,在实际编程中,我们会自己定义一些类,如Point <span style="font-size:14px;">pu ...
- FATAL ERROR: Could not find ./bin/my_print_defaults 解决方法
FATAL ERROR: Could not find ./bin/my_print_defaults If you compiled from source, you need to run 'ma ...
- 关于C语言底层
1.C语言和java C语言难在需要清楚底层的实现原理一错可能就内存泄露之类语法不难,原理很难 C语言和java数组是指一段连续的内存空间一个int 4字节一旦声明必须确定长度无法变长数组在数据结构里 ...
- Spring的p标签
看Spring in action的时候看过p标签,可惜这东西不用就忘. p标签是为了简化setter的注入而引入的. 用法: p:属性 = "{值}" p:属性-ref = &q ...