VC++ (VS2008)里面char和LPTSTR的转换问题
在VS里面写如下代码,实现两个数的相加并且显示结果:
int num1,num2,num3;
char ch1[10],ch2[10],ch3[10];
GetDlgItem(IDC_EDIT1)->GetWindowText(ch1,10);
GetDlgItem(IDC_EDIT2)->GetWindowText(ch2,10);
num1=atoi(ch1);
num2=atoi(ch2);
num3=num1+num2;
itoa(num3,ch3,10);
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
编译运行出现错误:
1>.\TestDlg.cpp(42) : error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>.\TestDlg.cpp(43) : error C2664: “int CWnd::GetWindowTextW(LPTSTR,int) const”: 不能将参数 1 从“char [10]”转换为“LPTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>.\TestDlg.cpp(53) : error C2664: “CWnd::SetWindowTextW”: 不能将参数 1 从“char [10]”转换为“LPCTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
原因是字符集的问题。VS2008和VC6.0还是有些不一样的。
参考资料:http://topic.csdn.net/u/20090506/17/d7e4b312-ba8a-4611-b94b-59c5c7a96aea.html
解决方案:
char 改成TCHAR
atoi 改成 _ttoi
itoa 改成 _itot
TCHAR ch1[10],ch2[10],ch3[10];
GetDlgItem(IDC_EDIT1)->GetWindowText((ch1),10);
GetDlgItem(IDC_EDIT2)->GetWindowText((ch2),10);
num1=_ttoi(ch1);
num2=_ttoi(ch2);
num3=num1+num2;
_itot(num3,ch3,10);
GetDlgItem(IDC_EDIT3)->SetWindowText(ch3);
VC++ (VS2008)里面char和LPTSTR的转换问题相关推荐
- VC++中的char,wchar_t,TCHAR(转载)
VC++中的char,wchar_t,TCHAR 大家一起做一个项目,经常发现有的人爱用strcpy等标准ANSI函数,有的人爱用_tXXXX函数,这个问题曾经搞的很混乱.为了统一,有必要把来龙去脉搞 ...
- CString与string、char*的区别和转换
我们在C++的开发中经常会碰到string.char*以及CString,这三种都表示字符串类型,有很多相似又不同的地方,常常让人混淆.下面详细介绍这三者的区别.联系和转换: 各自的区别 char*: ...
- VC.NET字符指针与String的转换
VC.NET字符指针与String的转换 String ^s; char*ch="wqj"; s=gcnew String(c ...
- char与wchar_t的转换
来源于:http://www.cppblog.com/lf426/ wchar_t是C/C++的字符数据类型,是一种扩展的字符存储方式,wchar_t类型主要用在国际化程序的实现中,但它不等同于uni ...
- char[],char *,string之间转换
char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...
- 转:char*, char[] ,CString, string的转换
转:char*, char[] ,CString, string的转换 (一) 概述 string和CString均是字符串模板类,string为标准模板类(STL)定义的字符串类,已经纳入C++标准 ...
- C++ 中 char[],char *,string之间转换
char []与char *之间转换 char []转char *:直接进行赋值即可 // char[] 转char * char str[] = "lala"; char *st ...
- 如何把char类型的数字字符转换成int类型
近来面试遇到一个问题,通过控制台输入一个12位的数字,然后进行一些计算,然后被困在如何把char类型的数字转换成int类型.通过搜索,找到两个解决办法. 1.把char型转换成int类型 for(in ...
- java char与int互相转换
java char与int互相转换 (1)int转char,将数字加一个'0',并强制类型转换为char. (2)char转int,将字符减一个'0'即可. public static void ma ...
最新文章
- 面试常考:bitmap判断其中是否有相同元素
- ethtool用法 linux_Linux命令之Ethtool用法详解
- 小白Linux下安装mysql
- 通过图片 找到桌面相同图片区域坐标_非常萌的桌面工具-bongo cat mver0.1.6
- 系统架构设计师-软件水平考试(高级)-理论-项目管理
- Vue2学习笔记:计算属性(computed)
- 并发编程学习之生产者消费者模式 - 使用Condition实现
- FoxMail7.2信纸设置(适用于7.0及以上版本)
- PCB负片(PCB Negative)
- JavaScript推箱子游戏开发笔记
- 怎么从安卓设备转移数据到苹果_如何将数据从安卓设备转移到iPhone12
- [歪谈]拽一个贵人出来给你当炮架子
- 用pandas读写HDF5文件
- CLR的主要作用有哪些
- 见或不见 →仓央嘉措
- 【运筹学】对偶理论 : 对偶性质 ( 对称性质 | 对称性质推导 )
- 研究16位汇编NEG求补指令
- 防止Web攻击,做好HTTP安全标头
- 2023开学季哪款电容笔值得买?高品质电容笔品牌推荐
- 手把手教你python实现量价形态选股知乎_怎样通过量价形态选股?量价选股技巧...
热门文章
- 剖析Caffe源码之Layer_factory
- 离线或在线加载pytorch、mmdetection预训练模型vgg、resnet、alexnet等
- tf.group()用于组合多个操作
- 主构造器和附属构造器
- 面向对象:类的定义和使用
- c语言字母金字塔代码,打印字母金字塔,昨晚看到某个帖子的题目
- arp 不同网段 相同vlan_同vlan不同网段能否ping通?
- iCMS v8.0.0多终端内容管理系统
- 孜然网址导航系统源码v1.0
- kibana创建es索引_java操作es动态创建索引(按月生成),索引类型,索引别名