由于不知道txt文件中数据的多少,所以准备用动态数组来做,但是检测输出的结果总是内存地址,代码如下:
int m,n;
cout << "请输入已知的行数 m = ";
cin >> m;
cout << "请输入已知的列数 n = ";
cin >> n;
ifstream InFiles("F:\\IDXA.txt");
int *b=new int[m+n];
for(int i=0; i<m+n;i++)
{
InFiles >> *b;
b++;
}
InFiles.close();
for(int i=0; i<m+n; i++)
{
cout << *b+i;
}
本人初学c++,还望大神们指点啊~
那应该怎么改啊?数据存入的方式有没有问题?不知道是存到数组里了还是存到指针上了...
追答int *b=new int[m+n];改成int *b=NULL; b=new int[m+n];试一下,最后再加一句delete(int);
感觉你的初学还是少用new,这个内存函数,搞不好,会内存泄漏的,先把函数的功能搞懂了,再去用……
输出的还是内存值~
追答你先看下这个,理解下ifstream
http://wenku.baidu.com/view/1870ab1452d380eb62946d24.html
我输入的不是元素个数,其实那个不关键,关键是后面的应该怎么改才对?
追答用一个临时指针指向b,然后偏移临时指针,在打印b
就可以了
望采纳
能否详细说明一下?