转载:VC++ Debug Assertion Failed! 错误(File: strex.cpp Line: 690)_希热明玛_新浪博客
问题(File: strex.cpp Line: 690):
错误描述:在Debug模式下报错,Release模式下正常。
---------------------------
Microsoft Visual C++ Debug Library
---------------------------
Debug Assertion Failed!
Program: D:\Projects\20130906\HK-H英文\Debug\C100A.exe
File: strex.cpp
Line: 690
For information on how your program can cause an assertion
failure, see the Visual C++ documentation on asserts.
(Press Retry to debug the application)
---------------------------
终止(A) 重试(R) 忽略(I)
---------------------------
错误原因:CString设计缺陷。
解决方法:在格式化浮点数时增加临时变量。格式化整数时不存在这个问题。
**********************会报错********************************
CString str;
str.Format("%.3f", 5.6);
str.Format("%-15s", str);
**********************会报错********************************
**********************正常********************************
CString str;
str.Format("%d", 5);
str.Format("%-15s", str);
**********************正常********************************
**********************解决方法********************************
CString str;
CString strTemp;
strTemp.Format("%.3f", 5.6);
str.Format("%-15s", strTemp);
**********************解决方法********************************