相关文章推荐
耍酷的沙滩裤  ·  C# MarshalAs - ...·  12 小时前    · 
深沉的苹果  ·  easyui ...·  9 小时前    · 
爱旅游的红茶  ·  AttributeError: ...·  3 周前    · 
飘逸的企鹅  ·  python ...·  2 月前    · 
魁梧的水龙头  ·  python - How to ...·  1 年前    · 
    //snprintf语法:
    //  int snprintf(char *str, int n, char *format[, argument, ...])
    //  参数一: char类型字符串, 格式化后的字符串会赋值给这个变量
    //  参数二: 字符串最大长度, 超过会被截断
    //  参数三: 待格式化的字符串
    //  剩余参数: 待格式化的变量/常量
    //  返回值: 格式化成功返回char *str的长度, 失败返回-1.
#include <iostream>
#include <string>
int main()
    using namespace std;
    string s0 = "abcd"; //string 类型字符串
    int i = 5         ; //整数
    float f = 0.123456; //浮点数
    int size = 100;
    char buffer[size];  //char 类型字符串
    snprintf(buffer, size, "|%-6s|%3d|%5.2f%%|", s0.c_str(), i, f);
    cout << buffer << endl; //输出: |abcd  |  5| 0.12%|
    //注意一: 待格式化的变量如果是string类型的话, 不能直接用, 需要用string.c_str()转回为c格式字符串.
    //注意二: format中如果要输出%, 需要转义, 但不是使用\%, 而是使用%%.