读书人

关于CString:Format的参数有关问题~高

发布时间: 2012-03-07 09:13:51 作者: rapoo

关于CString::Format的参数问题~急~高手帮忙啊~
我讲一个点类成员存入一个txt出现了这样的问题。

代码如下:
buffer.Format( "%s%d ",buffer,p[i].x);
file.Write(buffer,sizeof(p[i].x));
buffer.Empty();

buffer.Format( "%s%d ",buffer,p[i].y);file.Write(buffer,sizeof(p[i].y));buffer.Empty();

奇怪的是,保存在文本里是
"屯100 237 "
这一类的东西,但实际上p[i]里的是1,1

而当我改成
buffer.Format( "%s%d ",,p[i].x);
时,却会出现内存溢出的错误。

向高手求救~

[解决办法]
buffer.Format( "%s%ld ",buffer,p[i].x);
[解决办法]
Remarks

The call will fail if the string object itself is offered as a parameter to Format. For example, the following code:

CString str = "Some Data ";
str.Format(_T( "%s%d "), str, 123) ); // Attention: str is also used in the parameter list.

causes unpredictable results.


你的buffer.Format( "%s%d ",buffer,p[i].x); 不行吧

读书人网 >VC/MFC

热点推荐