一个函数,下面简单代码
int CTestDlg::myfunc(LPSTR text)
{
CPoint point;
LPSTR str=text;
flaot m_CodeWidth = 0.02;
float rato = 1.1; while(*str)
{
str++;
point.x+=int(m_CodeWidth*rato)*(*str-'0');
str++;
}
}就这么简单的代码,一个按钮事件触发调用该函数,text作为一个字符串传入,第一次调用循环完后,str后面发现有两个空格,这个可能是因为point.x+=这句造成的;再按一次按钮,同样的字符串,循环完字符串后,str后面发现有" 葺葺"这样的东西,导致两次结果point的值不一样,搞不懂是为什么,明明是同一个字符传入的
要怎么修改才不会呢?
int CTestDlg::myfunc(LPSTR text)
{
CPoint point;
LPSTR str=text;
flaot m_CodeWidth = 0.02;
float rato = 1.1; while(*str)
{
str++;
point.x+=int(m_CodeWidth*rato)*(*str-'0');
str++;
}
}就这么简单的代码,一个按钮事件触发调用该函数,text作为一个字符串传入,第一次调用循环完后,str后面发现有两个空格,这个可能是因为point.x+=这句造成的;再按一次按钮,同样的字符串,循环完字符串后,str后面发现有" 葺葺"这样的东西,导致两次结果point的值不一样,搞不懂是为什么,明明是同一个字符传入的
要怎么修改才不会呢?
解决方案 »
- 串口读取数据只能读8个字节是什么原因
- 求助:写一个关于时钟的程序
- error C2220:warning treated as error -no 'object' file generated
- 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
- 问一个简单的语法问题。
- 《Windows网络编程》里的源代码,编译通不过,能帮我看看吗
- Can I save *.pdf file to *.ppt file ,or print *.pdf to file *.ppt ?
- 急!!!大侠们出手看看这段代码有什么问题:关于wav播放!!!80
- *低价转让书籍!
- 请问如何用DC将位图CBitmap画出来?
- $$$CLlistCtrl绘制图片问题
- CImage类的问题
过了\0结束符
过了\0结束符 这个\0加在什么地方?
我认为象这种函数设计时应该加个源串长度参数,如myfunc(LPSTR text,const int strlen)否则太危险了