vector<data> getList = readContent();
string output = "";
ostringstream conv;
istringstream is;
output += "s: 200 OK\nThe list of records in the book:\n";
for(int j = 0; j < getList.size(); j++)
{
conv << getList[j].record;
output += conv.str();
output += " ";
output += getList[j].fName;
output += " ";
output += getList[j].lName;
output += " ";
output += getList[j].phoneNum;
output += " \n";
conv.str("");
}
send(s, (char *)output.c_str(), strlen((char *)output.c_str()), 0);
readContent() 返回一个向量,其中包含从文件中读取的所有数据。这是打印向量中的所有内容。但是,我无法弄清楚如何以特定方式格式化向量中的每一件事:
记录从左侧开始 0 个空格
fName从左侧开始 10 个空格
lName在 fName之后的空格之后开始
phoneNum从左侧开始 30 个空格
全部在 1 行。 这是一个图片示例(无法在此线程编辑器上格式化...)
http://i.imgur.com/bbAlDWX.png
我知道这可以使用 setw() 来完成,但只有当您使用 << 运算符直接输出时(或者我错了吗?)。它需要采用字符串的形式,以便我可以通过套接字将其发送给客户端。
有谁知道我能做什么?