大家帮我看一下,图片是程序调试运行的截图,_szPlateWidth格式定义为char[5],在图片中运行时可以看到它的值为1580,但是右边显示的却不是4位,158010030.....
我用AfxGetMainWnd()->SetDlgItemText(IDC_PLATE_SETWIDTH,_PortInternal._szPlateWidth);界面显示的也不是1580四位,跟右图片中右边的一样1580100030
这个是什么原因呢?怎么让它正确显示,先谢谢了!
解决方案 »
- vs2010做Ribbon界面 怎样使左上角圆形菜单按钮和快速访问工具栏不响应
- 无界面的OCX控件能在文档类中创建吗
- 求教关于LoadIcon加载ico图标的问题
- 类的成员函数可以互相调用吗?
- RegisterWaitForSingleObject未定义,它的头文件是什么
- RegQueryValueEx()操作注册表的时候,Debug版可以得到值,Release版怎么都不行
- 请问谁对COM对象的使用比较熟,高手帮帮忙,有高分的啊
- 如何将动态连接库加入程序?
- 如何在一个对话框上贴图?
- 在IShellExecuteHook组件中无法创建线程??
- 对话框内容如何随滚动条的拉动移动
- 怎样控制硬件的驱动
(1)对于char型数组,给其赋值后,若没有字符串结尾符“\0”,则其内容就不能作为字符串来使用,因为字符串是以结尾符“\0”结尾的;
(2)我们在定义字符数组之后,一般要用memset对其初始化的,全部赋0(对应结尾符“\0”),比如:char buf[256];
memset(buf, 0, 256);
这样能保证buf的内容被处理后可以以结尾符结尾,就可以作为字符串来操作。另外一个好处是,我们调试查看buf数组的内容的时候就不会出现“烫烫烫”的乱码。
TCHAR szBuf[5] ={0};
TCHAR szText[] = _T("Hello, World!!!");
StringCchCopy(szBuf, _countof(szBuf), szText);
AfxMessageBox(szBuf);