1. CString csPlus;
  2. CString csSummand;
  3. m_PlusNumber.GetWindowTextW(csPlus);
  4. m_Summand.GetWindowTextW(csSummand);
  5. int nPlus = atoi(csPlus.GetBuffer(0)); //将编辑框文本转换成整数
  6. // int nPlus = atoi(strcpy(csPlus.GetBuffer(10),"aa"));
  7. csPlus.ReleaseBuffer();
  8. int nSummand = atoi(csSummand.GetBuffer(0));
  9. csSummand.ReleaseBuffer();
  10. int nRet = nPlus + nSummand;
  11. char chRet[128] = {0}; //将结果装换成字符串
  12. itoa(nRet,chRet,10);
  13. m_Result.SetWindowTextW(chRet);

在 5  8   13 行处会报错

原因分析:

这些代码在VC6 下面是可以的  在VC2010下不能通过

VC6默认使用字符ANSII编码方式

VC2010默认使用UNICODE编码方式

为了满足程序代码国际化的需要,业界推出了Unicode标准,它提供了一种简单和一致的表达字符串的方法,所有字符中的字节都是16位的值,其数 量也可以满足差不多世界上所有书面语言字符的编码需求,开发程序时使用Unicode(类型为wchar_t)是一种被鼓励的做法。

LPWSTR与LPCWSTR由此产生,它们的含义类似于LPSTR与LPCSTR,只是字符数据是16位的wchar_t而不是char。

CString是一个动态TCHAR数组,BSTR是一种专有格式的字符串(需要用系统提供的函数来操纵,LPCTSTR只是一个常量的TCHAR指针。

在ANSII和UNICODE两种情况下,TCHAR的字符位数不一样,所以会有这样的报错。

最简单的解决方法是工程右键属性 修改编码方式从unicode改为多字节字符集。

在VC2010中 将CString转换成char  应该使用 _wtoi

5 ,8修改为:

  1. int nPlus = _wtoi(csPlus.GetBuffer(0));
  2. int nSummand = _wtoi(csSummand.GetBuffer(0));

对13行的修改 修改为:

可添加声明

  1. CString csRet;

字符串指针(char *)等已经被CString构造函数支持的数据类型可以直接赋值

将chRet赋给csRet

  1. csRet = chRet;

最后一行修改为

  1. m_Result.SetWindowTextW(csRet);

对13行的修改更简化应该为寻找一种将int型转换成CString的方法。

在VC6中可以直接

  1. csRet.Format("%d",nRet);

但是在2010中不适用。

在VC2010中应该这样写

  1. csRet.Format(_T("%d"),nRet);

OK  修改完成 可以运行

最新文章

  1. Fiddler调式使用知多少(一)深入研究
  2. ISS_1建站使其能够用ipad浏览器下载安装x-code开发的程序
  3. c#数据绑定(3)——数据转化为信息
  4. Java for LeetCode 051 N-Queens
  5. 诊断一句SQL不走索引的原因
  6. CSS3弹性盒模型,Flex布局教程
  7. php解析url的三种方法举例
  8. 整理grep实战文本搜索过滤技巧
  9. [DevExpress]DxValidationProvider分享
  10. 开启/关闭ubuntu防火墙
  11. 文件夹oradiag_是如何产生的
  12. JS高级程序设计学习笔记之Date类型
  13. hdu 1542 Atlantis 段树区,并寻求,,,尼玛真坑人数据,不要打开一小阵!
  14. 《JavaScript高级程序设计》读书笔记 ---Object 类型
  15. Hadoop序列化-流量汇总案例
  16. js 执行机制
  17. 进程间通信IPC-命名管道FIFO
  18. 第71讲:Scala界面Panel、Layout实战详解
  19. SQL Server 请求失败或服务未及时响应。有关详细信息,请参见事件日志或其它适合的错误日志
  20. 20155234 2016-2017-2 《Java程序设计》第7周学习总结

热门文章

  1. (转)Web Service和WCF的到底有什么区别
  2. python元组和列表区别
  3. 有关numpy.random下的API具体含义
  4. MySQL——视图
  5. c的详细学习(4)选择结构与循环结构的编程练习
  6. P4240 毒瘤之神的考验
  7. hd acm2035
  8. css 中 div垂直居中的方法
  9. idea集成spring+spring MVC+mybatis问题
  10. Mysql备份和还原(命令)