求助!!如何在C++程序中读写文件中的数据?

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:54:57
在D盘根目录下有一个txt文件,里面数据如下:
2 8 2
1 6 -1
2 -1 2
现在要把这些数据输入到C++程序中的A[i][j]数组,并且假设txt文档中矩阵大小未知。经过一番处理后,
A[i][j]= 1 4 1
0 1 -1
0 0 1
再把数组A中数据输出到D盘的原文件中。
请问各位大侠,整个过程该如何实现?
谢谢!!
四楼的infile >> a[m][n]语句得到的是什么?为什么类似-9.25596e+06的东西?

我写这个的前提是已经有一个文件,而且文件里面有相应的数据。因为不知道你的那些处理是什么,所以没有进行处理。我所做的只是将数据读了出来,然后放到了二维数组里面,然后再将这些数据写到了另外的一个方件里面。那些处理,你可以直接对这个程序中二维数组进行处理(数据里面存的就是原文件的数据),然后再将二维数组里面的数据写回原文件。编译器我用的是VS.
infile >> a[m][n]这句话,就是将原文件里面的数据读到一个二维数组里面。m和n都是从零开始。我这里可以运行成功啊。我不知道你的原因是什么。
#include<iostream>
#include<fstream>
using namespace std;

int main()
{
ifstream infile;
ofstream outfile;
int ch;
int row = 1;
int column = 1;
infile.open("d://hello.txt");
while ((ch = infile.get()) != EOF)
{
column++;
if (ch == 10)
{
row++;
}
}
column = column / 2 / row;
infile.close();
infile.clear();
infile.open("d://hello.txt");
//在行列都知道之后,动态创建一个二维数组
int **a = new int *[row];
for (int i = 0; i < row; ++i)
{
a[i] = new int[column];
}