请教下大家:我c++ 6.0中通过的代码,在visual 2008中无法通过,该当如何进行呢?谢谢!
void CJisuanqiFormView::OnBnClickedBang()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData(TRUE);
double Bang = m_strbang*0.4535924;
float aa=(float)Bang;
char cc[20];
sprintf(cc,"%.0f",aa);
GetDlgItem(IDC_STATIC_BANG)->SetWindowText(cc);
}
io 2008\projects\xuglass\xuglass\jisuanqiformview.cpp(74) : error C2664: “CWnd::SetWindowTextW”: 不能将参数 1 从“char [20]”转换为“LPCTSTR”
1> 与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>生成日志保存在“file://d:\MyFile\Visual Studio 2008\Projects\XuGlass\XuGlass\Debug\BuildLog.htm”
1>XuGlass - 1 个错误,1 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
在工程 的设备中的【常规】的字符集直接将 多字节,目前可能是 Unicode
GetDlgItem(IDC_STATIC_BANG)->SetWindowText( _T(cc));
或者
char cc[20];
->
wchar_t cc[20];
GetDlgItem(IDC_STATIC_BANG)->SetWindowText((LPCTSTR)cc);
caozhy:
早晨好,谢谢您的回复!在使用 GetDlgItem(IDC_STATIC_BANG)->SetWindowText( _T(cc));时出现如下提示,有何办法呢,谢谢!
1>正在编译...
1>JisuanqiFormView.cpp
1>d:\myfile\visual studio 2008\projects\xuglass\xuglass\jisuanqiformview.cpp(76) : warning C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\program files (x86)\microsoft visual studio 9.0\vc\include\stdio.h(366) : 参见“sprintf”的声明
1>d:\myfile\visual studio 2008\projects\xuglass\xuglass\jisuanqiformview.cpp(77) : error C2065: “Lcc”: 未声明的标识符
1>生成日志保存在“file://d:\MyFile\Visual Studio 2008\Projects\XuGlass\XuGlass\Debug\BuildLog.htm”
1>XuGlass - 1 个错误,1 个警告
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
当直接这样干时,编译没有错误了,但计算时显示后面出现乱码
UpdateData(TRUE);
double Bang = m_strbang*0.4535924;
float aa=(float)Bang;
char cc[20];
sprintf(cc,"%.0f",aa);
GetDlgItem(IDC_STATIC_BANG)->SetWindowText((LPCTSTR)cc);

谢谢!确然,在向导中默认就是选择Unicode,非常感谢,代码出问题也是源于此处。谢谢两位的帮助!
求助:visual 2008编译通过,换成2012时又出错了啊,
代码如下:
UpdateData(TRUE);
// TODO: Add extra validation here
///////////////////////////////////////////////////////////////
//磅换算为公斤和立升
double bang = m_strbang*0.4535924;
float aa=(float)bang;
char cc[20];
sprintf(cc,"=%.0fKg",aa);
GetDlgItem(IDC_MFCLINK3)->SetWindowText(cc);
1>d:\myfile\visual studio 2012\projects\xuglassform\xuglassform\jisuanformview.cpp(68): error C4996: 'sprintf': This function or variable may be unsafe. Consider using sprintf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
1> d:\program files (x86)\microsoft visual studio 11.0\vc\include\stdio.h(357) : 参见“sprintf”的声明
========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========