wgrk.net
当前位置:首页 >> Cstring FormAt %s >>

Cstring FormAt %s

int a = 123; float b = 45.6; char c = 'h'; CString d = "xyz"; CString str = ""; str.Format("%d,%f,%ld,%lf,%c,%s",a,b,a,b,c,d); this->MessageBox(str); 输出为:123,45.599998,123,45.599998,h,xyz

1 先看看Format用于转换的格式字符: 2 %c 单个字符 %d 十进制整数(int) %ld 十进制整数(long) %f 十进制浮点数(float) %lf 十进制浮点数(double) %o 八进制数 %s 字符串 %u 无符号十进制数 %x 十六进制数 3 int转换为CString: CString str; in...

字符串以 '\0’结尾 data数据并没有实现结尾部分

用得是Unicode编码,需要把"%s"改为_T("%s") CString.format(_T("%s"), string.c_str());

Format()函数是CString类型的成员函数。上例当中:有CString str; //声明一个CString 类型的对象str;通过对象访问其成员函数str.Format("%s",sz); 该函数是设置str格式。(Format 就是格式的意思吗!)原型:void Format( LPCTSTR lpszFormat, ....

sSchoolID 是int类型吧,那么用%d,%s是指要格式化的参数是字符串,%d是指要格式化的参数是整形, select怎么两个%%?

box.Format("%d,%c,%f,%s",i,ch,f,str.GetBuffer(0)); 或者 box.Format("%d,%c,%f,%s",i,ch,f,(LPCTSTR)str);

两个CString是可以用+直接相加的,如果要用format CString str = ""; CString s = "test"; str.Format("abc%s",s);

你的CString应该是多字节ANSI的,不是宽字符UNICODE的。

碰到这种问题时,不需要往深里看,肯定不是MFC内部的问题,检查一下你的 szCurPath 这个值是不是乱的啊 建议初学者不要看这内部实现,如果你写的C++程序够多,看到这些代码根本不会头疼,只所以无从下手,写的东西太少

网站首页 | 网站地图
All rights reserved Powered by www.wgrk.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com