欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

调试中出现的问题(一)

程序员文章站 2022-07-10 20:30:41
...

 之间的代码是:

...
TCHAR  moduleFileName[260];  
::GetModuleFileName(NULL,moduleFileName, 260);
(_tcsrchr(moduleFileName, _T('\\')))[1] = 0;
m_moduleFileName=moduleFileName;//m_moduleFileName为类的私有变量,但是提示“错误指针”,这是为什么?
...
CString strControl=m_moduleFileName;    // 语句执行完成,值发生变化。
strControl.Append(_T("\\INI\\Control.ini"));

CString  strCameraOneDelay;
strCameraOneDelay.Format(_T("%d"),m_cameraOneTriggerDelay);
但当int类型转为CString类型时,变量值又变回10。除了m_moveSpeed转换为CString后依然异常外,其它几个变量正常。


///////////////////////////////////////////////////////////////////////////////////////////////////

类似问题:

http://bbs.csdn.net/topics/390099830


// 分析代码后最有可能的原因是使用atoi和atof两个宏的方法错误

int atoi(const char *str);

double atof(const char *str );
我用string作为输入,应将string转为char*,通过string的成员函数c_str(),也可以通过如下方式将CString转为char* :

CString str1 ="123";  
char *t1 =str1.GetBuffer(str1.GetLength());  
str1.ReleaseBuffer();