【发布时间】:2015-02-18 16:09:39
【问题描述】:
当我运行我的程序时,它只询问大小并终止。逻辑有问题吗?
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
cout << "Enter size of array\n";
int x;
cin >> x;
int a [x];
ifstream data ("numbers.txt");
if(data.is_open()){
cout << "Enter the elements\n";
for(int i = 0 ; i<x ; i++){
data >> a[i];
}
for(int j = 0 ; j<x ; j++){
cout << a[j];
}
}
}
【问题讨论】:
-
终止是什么意思?之后你会立即返回命令提示符吗?
-
1) 可变长度数组是编译器扩展(考虑使用
std::vector),2) 您似乎想将数字保存在文件中,但您使用了ifstream -
没有。不可能的。因为你在编译时没有数组的大小。
-
您的标题说您正在写入文件,但我只看到从文件中读取。它是哪个,阅读还是写作?顺便说一句,阅读使用
ifstream,写作使用ofstream。注意第一个字母的区别,“i”表示输入,“o”表示输出。 -
我建议在
main的末尾放置一个断点。运行调试器时,这应该会阻止 IDE 关闭控制台窗口。