如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
format指定输出格式,后面跟要输出的变量目前printf支持以下格式:%c单个字符%d十进制整数%f十进制浮点数%o八进制数%s字符串%u无符号十进制数%x十六进制数%%输出百分号%一个格式说明可以带有几个修饰符,用来指定显示宽度,小数尾数及左对齐等:-左对齐+在一个带符号数前加'+'或'-'号0域宽用前导零来填充,而不是用空白符域宽是一个整数,设置了打印一个格式化字符串的最小域。精度使用小数点后加数字表示的,给出每个转换说明符所要输出的字符个数。注意:带修饰符的显示可能不正常。数据格式说明由“%”开头,形式为%<数据输出宽度说明><格式符>,数据格式说明用在需要输出变量或运算数值结果的时候,它的个数与输出表列的个数一一对应。数据宽度说明中如果实际数据小于宽度,则根据宽度是否大于零而左补空格或右补空格。如果实际数据大于宽度,按实际位数输出。如果缺省宽度说明,则按实际宽度输出。CString.format('%10f',a);10表示把a以10个字符宽度格式化%f形式输出,则小数部分为6位;例%10f若a的整数部分位数+小数点(1位)+小数部分位数大于等于10,则按实际a的形式格式化;若a的整数部分位数+小数点(1位)+小数部分位数小于10,则在前面补空格,补足10位;例%.7f则a的小数部分位数若大于7,则截取7位小数,整数部分不变;a的小数部分位数若小于等于7,则不满7位的部分后面以0补足;str.Format(_T('Left-justifiedinteger:%.6d\n'),b);%.6d若整数b不满6位则在最高为前面补0;若整数b大于等于6位则形式不变;%6d若整数b不满6位,则在最高位前面补上空格,是之格式化为6个字符宽度;若整数b大于等于6位则形式不变。二、VS2005中的CString::Format()的使用voidC实例1Dlg::OnTestRangeCommands(UINTnID){CStrings;s.Format("Button%d",nID-IDC_BUTTON1+1);AfxMessageBox(s);}当写成上述格式时,出现如下错误:“voidATL::CStringT<BaseType,StringTraits>::Format(constwchar_t*,...)”:不能将参数1从“constchar[9]”转换为“constwchar_t*”当将s.Format("Button%d",nID-IDC_BUTTON1+1)修改成s.Format(_T("Button%d"),nID-IDC_BUTTON1+1);时运行成功。据说这样改能成功“工作区的常规设置里有一项字符集的设置,2005生成的工作区里,这项默认设置是使用Unicode字符集,把它改成使用多字节字符集,str.Format("%d",i)这样的写法就可以用了。”还有说在这里能找到修改的地方“配置属性->C/C++->预处理器->预处理器定义看看有没有UNICODE/_UNICODE,有的话就去掉,再看看程序中有没有define这些东西”