我正在創建一個HTML文件,它創建一個名爲Quake的Google地圖,其中包含緯度,經度,大小和深度。另一個叫做QuakeData的類是創建一個Quake對象向量的類。for循環迭代器產生錯誤的結果C++
下方的函數採用對象的矢量,並得到它們(緯度,經度和幅度)的詳細信息,然後把它們輸出到HTML格式如下:
[58.678, -151.887, 'M2.6'],
其中第一個數字是緯度,第二個是經度,第三個是Magnitude,如圖所示。
這裏是我目前擁有的循環,提取緯度,經度和使用幅度干將:
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;
}
然而,這會產生這樣的結果:
[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, -117.08, 'M2.9'],[-3.203, 142.864, 'M4.7'],(end of line)
我要的是:
[58.678, -151.887, 'M2.6'],(end of line)
[33.92, -117.08, 'M2.9'],(end of line)
[-3.203, 142.864, 'M4.7'],(end of line)
這裏究竟是什麼錯誤?任何幫助將不勝感激。
謝謝你,很有道理。 – 2013-03-19 20:04:17