C++ ofstream 输出不正确缩进
C++ ofstream output not indenting correctly
我正在将姓名和成绩输出到文件中,它需要采用特定格式。
我目前有这段代码可以写入文件
void outToFile(Student a[], ofstream& b, int c){
b << "Student Grade Summary\n";
b << "---------------------\n\n";
b << "ENGLISH CLASS\n\n";
b << "Student Name\t\t" << "Test Avg\n";
b << "------------------------------------------------\n";
for(int i = 0; i < c; ++i){
if(a[i].course == "E"){
b << a[i].first << " " << a[i].last << "\t\t" << a[i].avg << "\t";
if(a[i].avg >= 90)
b << "A\n";
else if(a[i].avg >= 80)
b << "B\n";
else if(a[i].avg >= 70)
b << "C\n";
else if(a[i].avg >= 60)
b << "D\n";
else if (a[i].avg < 60)
b << "F\n";
else
b << "\n";
}
}
}
将其写入 txt 文件
Student Grade Summary
---------------------
ENGLISH CLASS
Student Name Test Avg
------------------------------------------------
Marvin Dipwart 86.5 B
Axelrod Polinski 61.9 D
James T. Kirk 79.6 C
如您所见,缩进是错误的,我需要它才能全部对齐。
我该如何解决这个问题?
您想连接名字和姓氏,并指定组合的宽度,如下所示:
b << std::setw(30) << (a[i].first + " " + a[i].last) << "\t" << a[i].avg;
我正在将姓名和成绩输出到文件中,它需要采用特定格式。
我目前有这段代码可以写入文件
void outToFile(Student a[], ofstream& b, int c){
b << "Student Grade Summary\n";
b << "---------------------\n\n";
b << "ENGLISH CLASS\n\n";
b << "Student Name\t\t" << "Test Avg\n";
b << "------------------------------------------------\n";
for(int i = 0; i < c; ++i){
if(a[i].course == "E"){
b << a[i].first << " " << a[i].last << "\t\t" << a[i].avg << "\t";
if(a[i].avg >= 90)
b << "A\n";
else if(a[i].avg >= 80)
b << "B\n";
else if(a[i].avg >= 70)
b << "C\n";
else if(a[i].avg >= 60)
b << "D\n";
else if (a[i].avg < 60)
b << "F\n";
else
b << "\n";
}
}
}
将其写入 txt 文件
Student Grade Summary
---------------------
ENGLISH CLASS
Student Name Test Avg
------------------------------------------------
Marvin Dipwart 86.5 B
Axelrod Polinski 61.9 D
James T. Kirk 79.6 C
如您所见,缩进是错误的,我需要它才能全部对齐。 我该如何解决这个问题?
您想连接名字和姓氏,并指定组合的宽度,如下所示:
b << std::setw(30) << (a[i].first + " " + a[i].last) << "\t" << a[i].avg;