zoukankan      html  css  js  c++  java
  • CString.format用法

    一。CString.format用法

    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-justified integer: %.6d\n'), b); 
    %.6d 
    若整数b不满6位则在最高为前面补0;
    若整数b大于等于6位则形式不变;

    %6d 
    若整数b不满6位,则在最高位前面补上空格,是之格式化为6个字符宽度; 
    若整数b大于等于6位则形式不变。

    二、VS2005中的CString::Format()的使用

    void C实例1Dlg::OnTestRangeCommands(UINT nID)
    {
    CString s;
    s.Format ("Button%d",nID-IDC_BUTTON1+1);
    AfxMessageBox(s);
    }

    当写成上述格式时,出现如下错误:

    “void ATL::CStringT<BaseType,StringTraits>::Format(const wchar_t *,...)”: 不能将参数 1 从“const char [9]”转换为“const wchar_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 这些东西

  • 相关阅读:
    [error]The command could not be located because '/usr/bin' is not included
    hadoop伪分布式
    ssh免密码登录
    移动端中的陀螺仪,摇一摇
    利用百度地图做的定位,获取位置和经纬度
    租房短租发布场地,工作中遇到的复杂日期插件功能
    深入理解定时器系列第三篇——定时器应用(时钟、倒计时、秒表和闹钟)
    BOM之navigator对象和用户代理检测
    jq css3实现跑马灯+大转盘
    Vue小事例
  • 原文地址:https://www.cnblogs.com/BloodAndBone/p/2044326.html
Copyright © 2011-2022 走看看