C++ c++;向量&;数组使用相同的txt文件

C++ c++;向量&;数组使用相同的txt文件,c++,arrays,vector,fstream,C++,Arrays,Vector,Fstream,有一个文本文件。我需要取出第一个数字,然后将其他数字放入一个数组中。文件大小未知。在我的代码中,我首先尝试使用vector.size计算它的大小,然后构建数组。希望有人能帮我看看出了什么问题 输入文件示例: 3 2 2 output Can take out a=3; array[0]=2;array[1]=2; 代码: intmain() { intn,inInt; 向量表; if

有一个文本文件。我需要取出第一个数字,然后将其他数字放入一个数组中。文件大小未知。在我的代码中,我首先尝试使用
vector.size
计算它的大小,然后构建数组。希望有人能帮我看看出了什么问题

输入文件示例:

3                   
2 2                   
output        
Can take out a=3;          
array[0]=2;array[1]=2;
代码:

intmain()
{
intn,inInt;
向量表;
ifstream ifs(“1.txt”);
INTA;
ifs>>a;
std::向量结果;
内部温度;
而(!ifs.eof())
{
ifs>>温度;
结果:推回(温度);
}
int b;
b=结果.size();
国际货币基金组织[b];
对于(int i=0;i>numlist[i];
} 
cout
intmain(intargc,char*argv[])
{
int n,inInt;
向量表;
ifstream ifs(“1.txt”);
INTA;
ifs>>a;
std::向量结果;
内部温度;
而(!ifs.eof())
{
ifs>>温度;
if(ifs.good())//检查操作是否正常
结果:推回(温度);
}
int b;
b=结果.size();

cout首先,如果您想要创建一个不知道大小的数组,则必须使用:

int *numlist = new int[b];
在代码的末尾:

delete[] numlist;
第二,当你有一个向量保存文件中的值时,再次读取文件有什么意义?这样做不是更容易:

for (i=0; i < b; i++)
     numlist[i] = result[i];
(i=0;i numlist[i]=结果[i];

我希望这对您有所帮助。

您不能使用“int-numlist[b];”您需要的是一个动态数组。类似这样的内容:int*numlist=new-int[b];你的意思是我可以完全不用数组吗?这仍然是一个数组。但是,因为在运行编译代码之前,你不知道它的大小,所以动态创建它是一种扭曲。你的意思是我可以完全不用向量吗?此外,在循环中,如果s是一个值。这是文件中的最后一个“2”。那么我如何从中获取第n个元素e数组?它不起作用。当我测试它时,它会给我一个超级大的错误数字。它不起作用。当我测试它时,它会给我一个超级大的错误数字。当我尝试了几次后,我会得到不同的答案。你是对的。我只是在没有足够注意的情况下使用了你的代码并调整了它的一些组件。我会编辑我的答案。@user2593970这只是stackoverflow.com的一个提示,请接受这两个答案中的一个,以鼓励人们回答您。只需单击答案左侧的勾选按钮(每个问题只能接受一个答案,使其成为最佳答案)
delete[] numlist;
for (i=0; i < b; i++)
     numlist[i] = result[i];