恋喵大鲤鱼 2018-08-05 12:47 采纳率: 33.3%
浏览 456
已结题

Google C++编程风格指南中6.10节流中不支持字符串操作符重新排序 什么意思

具体地址参见http://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/others/#streams。内容如下:
流使得 pread() 等功能函数很难执行. 如果不使用 printf 风格的格式化字符串, 某些格式化操作 (尤其是常用的格式字符串 %.*s) 用流处理性能是很低的. 流不支持字符串操作符重新排序 (%1s), 而这一点对于软件国际化很有用.

其中“不支持字符串操作符重新排序”是什么意思,能举个例子说明一下吗?

  • 写回答

2条回答 默认 最新

  • threenewbee 2018-08-05 15:07
    关注

    看这个代码

    #include <stdio.h>
    
    int main () {
        printf("this is %10s.\n", "China");
        printf("this is %10s.\n", "USA");
        printf("this is %10s.\n", "Japan");
        return 0;
    }
    
    输出
    this is      China.
    this is        USA.
    this is      Japan.
    
    

    你应该知道 %10s 是什么意思了吧。就是在字符串前面加上前导空白。

    评论

报告相同问题?