我正在阅读一个大文件f1:10,000 行和 47,000 列。我想要做的是转置f1并保存到f2。
为了解决这个问题,我做了以下事情:
- 第 1 步:逐行读取f1
- 第 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();
}