相关疑难解决方法(0)

你如何清除stringstream变量?

我已经尝试了几件事,

std::stringstream m;
m.empty();
m.clear();
Run Code Online (Sandbox Code Playgroud)

两者都不起作用.

c++ stringstream

464
推荐指数
6
解决办法
36万
查看次数

如何重用ostringstream?

我想清除并重用ostringstream(和底层缓冲区),以便我的应用程序不必执行尽可能多的分配.如何将对象重置为初始状态?

c++ stl reset ostringstream

115
推荐指数
2
解决办法
5万
查看次数

for循环与迭代器产生错误的结果c ++

我正在创建一个HTML文件,用于创建一个名为Quake的对象的Google地图,其中包含纬度,经度,幅度和深度.另一个名为QuakeData的类是一个创建Quake对象向量的类.

下面的函数获取对象的向量,并获取它们的详细信息(纬度,经度和幅度),然后以这种格式将它们输出到HTML中:

[58.678, -151.887, 'M2.6'],
Run Code Online (Sandbox Code Playgroud)

第一个数字是纬度,第二个是经度,第三个是幅度,显示的格式.

这是我目前拥有的循环,它使用getter提取纬度,经度和幅度:

double mag;
double lat;
double lon;
string complete;
ostringstream out;
vector<Quake>::const_iterator i;
for (i = quakes.begin(); i != quakes.end(); i++)
{
    mag = i->getMagnitude();
    lat = i->getLatitude();
    lon = i->getLongitude();

    out << "[" << lat << ", " << lon << ", 'M" << mag << "'],";
    complete = out.str();
    outfile << complete << endl;
}
Run Code Online (Sandbox Code Playgroud)

但是这会产生如下结果:

[58.678, -151.887, 'M2.6'], (end of line)
[58.678, -151.887, 'M2.6'],[33.92, -117.08, 'M2.9'],(end of line)
[58.678, -151.887, 'M2.6'],[33.92, …
Run Code Online (Sandbox Code Playgroud)

c++ unix g++

1
推荐指数
1
解决办法
105
查看次数

标签 统计

c++ ×3

g++ ×1

ostringstream ×1

reset ×1

stl ×1

stringstream ×1

unix ×1