gpt4 book ai didi

c++ - 将结构 vector 保存到制表符分隔的文本文件中

转载 作者:行者123 更新时间:2023-11-30 05:39:14 24 4
gpt4 key购买 nike

我正在读取一个 2 到 4 gb 的 .txt 文件,然后我操作了一些数据并想将我的结构 vector 保存为制表符分隔的 .txt 文件。我读了其他一些问题,但我仍然不清楚我将如何在我的程序中做到这一点。

所以我的问题是:如何将 Input vector 结果保存为制表符分隔的 .txt 文件?

下面是我的代码:

#include <iostream>
#include <sstream>
#include <string>
#include <fstream>
#include <vector>
#include <cstdio>

using namespace std;

struct Input_Spec {
std::string Data;
std::string Ativo;
int Buy_Sell;
double Sequencia;
double Id;
int Event;
std::string Hr_Priority;
double Priority;
double Price;
double Qtd_Total;
double Qtd_Traded;
std::string Data_Order;
std::string Data_Time_Order;
std::string State_Of_Order;
std::string Condition_Of_Order;
double Broker;
};

void split(const std::string &s, char delim, std::string elems[])
{
std::stringstream ss(s);
std::string item;

long i = 0;

while (std::getline(ss, item, delim))
{
elems[i++] = item;
}
}

int main()
{
ifstream infile1("C:\\Teste\\Teste.txt");
ofstream output("output.txt");

string word;
string columns[16];

string line;
int row=0;
long c=0;
long filescol=0;

for (int i = 0; std::getline(infile1, word); ++i)
{
row++;
}

//cout<<row;

infile1.close();

ifstream infile("C:\\Teste\\Teste.txt");

vector<Input_Spec> Input(row);

while( getline(infile, line))
{
split(line,';', columns);

if (columns[0]!="")
{
Input[filescol].Data =columns[0];
Input[filescol].Ativo =columns[1];
Input[filescol].Buy_Sell = stoi(columns[2]);
Input[filescol].Sequencia = stod(columns[3]);
Input[filescol].Id = stod(columns[4]);
Input[filescol].Event = stoi(columns[5]);
Input[filescol].Hr_Priority = columns[6];
Input[filescol].Priority = stod(columns[7]);
Input[filescol].Price = stod(columns[8]);
Input[filescol].Qtd_Total = stod(columns[9]);
Input[filescol].Qtd_Traded = stod(columns[10]);
Input[filescol].Data_Order = columns[11];
Input[filescol].Data_Time_Order = columns[12];
Input[filescol].State_Of_Order = columns[13];
Input[filescol].Condition_Of_Order = columns[14];
Input[filescol].Broker = stod(columns[15]);

filescol++;
c++;
}

if (c>(999))
{
break;
infile.close();
return 0;
}
}

infile.close();
return 0;
}

最佳答案

这是一个片段:

ofstream output ("output.txt");
output << Input[filescol].Data << '\t';
output << Input[filescol].Ativo << '\t';
output << Input[filescol].Buy_Sell << '\t';
//...
output << Input[filescol].Broker << '\n';

你说的是这个吗?

关于c++ - 将结构 vector 保存到制表符分隔的文本文件中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32443332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com