我正在使用一个程序进行工作,我必须以下列形式读取一些仓库数据:字符串整数double用于一大堆项目
但每次都是相同的项目(在这种情况下)我不知道数据的存储位置(或存储方式)所以我最终每次都会写入数据。
为了使事情变得复杂,我必须使用许多嵌套for循环的元组,这会增加运行时。
有没有办法让我一次读取数据并保存在文本文件中,以便将来硬编码?
e.g。如果我读到:" COKE" 5 1.99
如何创建一个文件:
tuple = {" COKE",5,1.99};
答案 0 :(得分:0)
试试这个:
struct My_Tuple
{
std::string text;
int number;
double floating_point;
friend std::ostream& operator<<(std::ostream& out, const My_Tuple& m);
};
std::ostream& operator<<(std::ostream& out, const My_Tuple& m)
{
out << "\"" << text << "\",";
out << number << ",";
out << floating_point << "\n";
return out;
}
int main(void)
{
My_Tuple m = {"Hello", 16, 3.14159};
cout << m;
return 0;
}
重载流插入运算符允许您将对象输出到std::ofstream
而不更改结构。
编辑1:
对于那些无法理解如何适应文件的人:
int main(void)
{
std::ofstream file("My_Tuples.txt");
My_Tuple m = {"Big Mac", -6, 2.72};
file << m;
file.close(); // Not needed, but it is explicit.
return 0;
}