int n = 1;
//Lines 14 to (vertices+13) read
while (i<(vertices+14))
{
//First three numbers on each line put into "v1"
if (n < 4)
{
copy(istream_iterator<float>(input),
istream_iterator<float>(),
back_inserter(v1));
n++;
}
//Last three numbers on each line put into "v2"
else
{
copy(istream_iterator<float>(input),
istream_iterator<float>(),
back_inserter(v2));
n++;
if (n > 6)
{
i++;
n=1;
}
}
這應該是將一行中的前三個數字排序爲一個向量,將最後三個數字排序爲另一個向量。然而,由於我懷疑流的工作原理,所有數字都將進入向量v1,而沒有一個會進入v2。輸入是一個ifstream。在C++中分離流
你誤解了'std :: copy'的作用 - 閱讀文檔。 – 2013-04-04 18:13:08