1
我有下面的代碼(從here mookhed)隨機化1500個值的向量,我想將它們放在一個文本文件,但不能。老實說,我不完全理解這段代碼是如何工作的,所以我希望有人向我解釋它是如何工作的和/或如何將輸出更改爲文件。如何使用ostream_iterator打印到文件?
#include <iostream>
#include <random>
#include <algorithm>
#include <iterator>
#include <fstream>
int main() {
std::vector<int> v;
for (int i; i<1500; ++i){
v.push_back(i);
}
std::random_device rd;
std::mt19937 g(rd());
std::shuffle(v.begin(), v.end(), g);
std::copy(v.begin(), v.end(), std::ostream_iterator<int>(std::cout, " "));
std::cout << "\n";
return 0;
}
'的std :: ostream_iteartor'是一個迭代返回一個對象來自'operator *()',它在賦值時寫入一個流,然後是字符串分隔符。 std :: copy()將源序列的每個元素分配給目標序列中的一個對象,即每個對象都寫入流中。只需用'std :: ofstream'的一個對象替換'std :: cout'來打開目標文件即可。 –