麻烦输出矢量到.txt文件
Trouble outputting vector to .txt file
我已经为此挣扎了一段时间了,我终于要寻求帮助了。我正在通过readData函数从文本文件中读取数据。在该函数中,我调用ELement类的函数将ELement数据读入向量的向量。然后,我试图通过writeData函数将数据写入文本文件,这就是我的问题所在。当我编译并运行时,outputfile包含除Element数据外写入的所有其他数据。我还需要能够通过其他函数访问此元素数据。
任何帮助,提示,或见解将不胜感激。我在下面附上了我认为是相关的代码。如果还需要,请告诉我。
谢谢!
readData功能:
void readData::readdata(ifstream &inp)
{
Element r;
r.addelementdata(inp);
};
addelementdata功能:
void Element::addelementdata(istream& inp)
{
int i,j,tmp;
for (i = 0; i < d_numElems; i++)
{
vector<int>row;
for (j = 0; j < 10; j++)
{
inp >> tmp;
row.push_back(tmp);
}
elems_matrix.push_back(row);
}
}
输出矩阵内容功能:
void Element::Elems_matrix_contents(ofstream& out)
{
int i, j;
for (i = 0; i < d_numElems; i++)
{
for (j = 0; j < 10; j++)
{
out << elems_matrix[i][j] << 't';
}
}
}
元素类:
class Element: public readData
{
protected:
std::vector< std::vector<int> > elems_matrix;
public:
// Constructors
Element();
//Destructor
~Element(){};
// Functions
void addelementdata(istream&inp);
std::vector<std::vector < int >> elems_matrix_copy;
void Elems_matrix_contents(ofstream& out);
};
readData类:
class readData
{
public:
readData();
~readData(){};
void readdata(ifstream &inp);
void writedata(ofstream &out);
};
writeData功能:
void readData::writedata(ofstream &out)
{
out << "ELEMENT " << "Material " << "Nodes: "<< endl;
Element r;
r.Elems_matrix_contents(out);
out << "*******************************************************************" << endl << endl;
};
问题是您创建了类型为Element
的局部变量并将数据读入该变量。因为它是局部的,所以在函数结束时被销毁:
void readData::readdata(ifstream &inp)
{
Element r; // this will die at end of function
r.addelementdata(inp);
};
与您的writedata()
函数相同。创建一个全新的(空的)Element
并输出:
void readData::writedata(ofstream &out)
{
out << "ELEMENT " << "Material " << "Nodes: "<< endl;
Element r; // completely new contains nothing
r.Elems_matrix_contents(out);
out << "********************************************" << endl << endl;
};
也许你应该让Element r
成为readData
类的成员?
class readData
{
Element r; // now all functions can use the same Element
// ... blah blah blah
};
相关文章:
- 如何将 txt 文件中的行分隔为组件C++
- 无法打开.txt文件
- 如何使用CLion在Mac上创建一个新的.txt文件
- 使用fstream对txt文件中的数字进行循环
- Visual Studio在尝试读取resource.txt文件时崩溃
- 如何从txt文件中读取多个不同长度的数组?
- 在一次迭代中从 txt 文件中读取多行
- 通过比较C++中的行在 txt 文件中搜索的最简单方法是什么?
- 写入超过 1GB 的.txt文件时出现奇怪的行为
- 视觉 如何循环访问C++中遵循类似格式的多个.txt文件?
- txt 文件中浮点数的最大和最小值
- 从.txt文件中读取浮点型数字并在公式中使用它们
- C++将文本从.txt文件解析为变量
- 在树结构.txt文件中搜索节点
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 在 txt 文件中显示前两个数字的程序
- 如何从具有两列的.txt文件创建并行数组?
- 如何使用c ++读取带有非英文字母的*.txt文件?(国际化)
- 如何像在 C++ 中处理数组一样对 .txt 文件中的字符进行寻址?
- 如何读取 TXT 文件并仅将 int 存储在 C 中