【发布时间】:2014-04-21 18:07:59
【问题描述】:
我写了一个程序,它从 int 的向量中创建逗号分隔的字符串,如下所示:
std::vector<unsigned int> Vec;
Vec.push_back(50);
Vec.push_back(60);
Vec.push_back(10);
Vec.push_back(20);
Vec.push_back(30);
Vec.push_back(2);
Vec.push_back(1);
std::stringstream lineNumString;
lineNumString.str(std::string());
lineNumString.clear();
std::copy(Vec.begin(), Vec.end(), std::ostream_iterator<unsigned int>(lineNumString, ","));
std::string lineString(lineNumString.str());
lineString = lineString.substr(0, lineString.length()-1);
std::cout << std::endl << lineString;
如果你看到上面程序的输出是:
`50,60,10,20,30,2,1`
但我想以某种不同的格式更改我的输出。我想在一行上有最多三个数字,下一行有下一个数字。如下:
50,60,10,
20,30,2,
1
我尝试从Vec 创建子向量,并尝试使用它们创建不同的字符串。然后我尝试拆分lineString,然后使用这些字符串。
请让我知道是否有更好的方法来实现最终输出?
我正在使用VS2010。我也可以使用 BOOST 功能。
谢谢。
【问题讨论】:
标签: c++ string visual-studio-2010 boost split