控制台输出格式,每列设置固定宽度。

语言c++
例如要输出一个数据表到控制台,表头的标题只用输出一次,例如:“姓名”、“年龄”、“性别”、“联系电话”,具体数据为每个对象的输出函数“对象名.display()”在控制台输出,例如“张三”、“男”、“13812345678”,在控制台输出的格式如图,图片说明
在控制台输出效果类似于以上截图,左对齐或者右对齐,每个列设置固定的显示宽度,例如姓名列设置宽度为三个字符,年龄列的宽度为二个字符,联系电话的宽度设置为20个字符。

 #include <string>

struct StudentInfo 
{
    std::string Name;
    std::string Age;
    std::string Sex;
    std::string Number;
    void display()
    {
        std::string strName = "姓名";
        std::string strAge = "年龄";
        std::string strSex = "性别";
        std::string strNumber = "电话"; 
        printf("\n%-6s%-5s%-5s%-20s\n", strName.c_str(), strAge.c_str(), strSex.c_str(), strNumber.c_str());
        printf("%-6s%-5s%-5s%-20s\n", Name.c_str(), Age.c_str(), Sex.c_str(), Number.c_str());
    }
};
int _tmain(int argc, _TCHAR* argv[])
{
    StudentInfo student_zhangsan;
    student_zhangsan.Name = "张三";
    student_zhangsan.Age = "20";
    student_zhangsan.Sex = "男";
    student_zhangsan.Number = "13889334010";
    student_zhangsan.display();
    return 0;
}

lz可以去参考一下string.format的用法~

自己好好设计下输出格式就行,像%-5d这样的

用setw函数就可以实现了。