大きなファイルf1を読んでいます: 10,000 行と 47,000 列。私がやりたいことは、f1を転置してf2に保存することです。
この問題を解決するために私がしたことは次のとおりです。
- ステップ 1: f1を 1行ずつ読み取る
- ステップ 2: 行をf2に書き込みます。これが、行ではなく列でf2を更新する問題です。
次の画像は、私が何をしたいのかを示しているので、1 行目を読み取ってファイル 2 に書き込みます。次に、2 行目を読み取って f2 に書き込みます (行ではなく列で) 。
質問:行ではなく列ごとに新しいファイルに書き込むにはどうすればよいですか?
これは私がこれまでのところです:
int main()
{
int size = A.weightedKeys.size();
ifstream file("f1.txt");
ofstream fout("f2.txt");
float x;
for (size_t i = 0; i < size; i++)
{
vector<float> v;
for (size_t j = 0; j < A.names.size(); j++)
{
file >> x;
v.push_back(x);
}
//Each time that i have a new vector i want to add it by column to f2 not by rows
for(size_t k = 0; k < v.size();k++ )
{
fout << v[k]<< endl;
}
v.clear();
}
fout.close();
}