请教一个关于debug和release编译的问题,大家请进~!!(急)
定义对话框中的一个输入框对应变量为int形: m_left
UpdateData()后,要把它转换成字符串。我自己写了个函数:
CString CPrintConfigDlg::DtoS(int m_int)
{
CString m_str;
div_t div_result;
char temp[2];
temp[1] = '\0';
div_result = div(m_int,10);
temp[0] = (char)(div_result.rem + 48);
m_str.Insert(0,temp);
while(div_result.quot != 0){
div_result = div(div_result.quot,10);
temp[0] = (char)(div_result.rem + 48);
m_str.Insert(0,temp);
}
return m_str;
}
这个函数在debug时,没有问题,但是在release下,转换后的CString后面总是多一些莫名其妙的字符,比如m_left为20,转换后,返回值为"200UI Gothic"
我都快晕死了,大家遇见过这种情况么?有时后我发现UpdateData()后,m_left的值和我输入的还不一样,郁闷啊~~~~~~~~~~~~~~``