0

大家好,我一直在做一个练习,我必须创建一个 txt 文件,用随机整数填充它,然后将文件读取到一个数组中,对其进行排序,然后在另一个文件中打印出来。到目前为止,这是我的代码:

 #include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <fstream>
using namespace std;

int main()
{
int *A;
int numbers,lines=0;
srand(time(0));

ofstream myfile;

myfile.open("integers.txt");

if (myfile.fail())
   {
      cout << "Error";
      return 1;
   }

cout<<"\nHow many numbers the file contain : ";
cin>>numbers;
cout<<"\n";


if(myfile.is_open()){

for (int i = 0; i < (numbers-1); ++i) {

myfile << rand()%100 <<"\n";
}
}
A=new int[lines];

ifstream myfile1;
myfile1.open("integers.txt");
 if(myfile1.fail())
    {
      cout << "Error" << endl;
      return 1;
    }

while (!myfile1.eof())
    {
        myfile1 >> A[lines];
        lines++;
    }
    for(int k=0;k<lines;k++)
        cout<<A[k]<<endl;

myfile.close();



return 0;

}

所以问题是如何将文件的内容读取到数组中。每当我在读取文件后打印数组时,输出都是废话。我用谷歌搜索并找到了各种解决方案,但这些似乎都不能正常工作。有人能告诉我我的错误是什么吗?

4

1 回答 1

0

看起来你在这里创建了一个长度为零的数组,因为lines它被初始化为零。

这一行:

A=new int[lines];

应该是:

A=new int[numbers]
于 2012-11-29T20:05:59.220 回答