VC结构体如何转格式化字符串

现有两个结构体,其中一个结构体嵌入到另一个结构体中,想把这个结构体对象数据转换为格式化(每个值中间加[tab]字符,而不是空格)字符串输出,请问如何操作?

#include <iostream>
struct student
{
    char Name[32];//姓名
    char xb;//性别
    char ll;//年龄
    double sg;//身高
};
struct grade
{
    int gradeid;
    int classid;
    student m_stus[];
    
};


int main()
{
   
    grade m_grade;
    //对 m_grade变量赋值,然后输出格式化的一个字符串:年级    班级  姓名  性别  年龄  身高;
    // 对应数据:                                      6   2   张三  男   13  165
    //每个值中间用tab分隔,不是空格分隔。
  
}


#include <iostream>
using namespace std;



struct student
{
    char Name[32];//姓名
    char xb[6];//性别
    char ll[6];//年龄
    double sg;//身高
};
struct grade
{
    int gradeid;
    int classid;
    student m_stus[1];

};


int main()
{

    struct grade m_grade;
    //对 m_grade变量赋值,然后输出格式化的一个字符串:年级    班级  姓名  性别  年龄  身高;
    // 对应数据:                                      6   2   张三  男   13  165
    //每个值中间用tab分隔,不是空格分隔。
    m_grade.gradeid = 6;
    m_grade.classid = 2;
    m_grade.m_stus[0] = {"张三","男","13",165.0};

    cout << m_grade.gradeid << "\t" << m_grade.classid << "\t" << m_grade.m_stus->Name << "\t";
    cout << m_grade.m_stus->xb << "\t" << m_grade.m_stus->ll << "\t" << m_grade.m_stus->sg << endl;

}

string out = to_string(m_grade.gradeid) +"\t" + to_string(m_grade.classid)+ "\t" + m_grade.m_stus->Name + "\t" + m_grade.m_stus->xb + "\t" + m_grade.m_stus->ll + "\t"+to_string(m_grade.m_stus->sg);