C++ 将txt文件值插入多维向量
我需要一些帮助将一系列值插入向量。 例如,我的.txt文件看起来像这样C++ 将txt文件值插入多维向量,c++,multidimensional-array,vector,C++,Multidimensional Array,Vector,我需要一些帮助将一系列值插入向量。 例如,我的.txt文件看起来像这样 0 0 35 0 2 0 35 0 0 0 2 0 etc. 我需要将这些值插入到二维向量中。也就是说,如果桌子是10x5,它看起来像 0 0 35 0 2 0 2 0 35 0 0 0 2 0 etc. 我想用这样的方式: vector<vector<int>> Pix; vector<int> tmp_col; int i; int j; for (i=0; i<
0
0
35
0
2
0
35
0
0
0
2
0
etc.
我需要将这些值插入到二维向量中。也就是说,如果桌子是10x5,它看起来像
0 0 35 0 2
0 2 0 35 0
0 0 2 0 etc.
我想用这样的方式:
vector<vector<int>> Pix;
vector<int> tmp_col;
int i;
int j;
for (i=0; i<largeur; i++) {
for (j=0; j<hauteur; j++) {
}
}
vectorpix;
向量tmp_col;
int i;
int j;
对于(i=0;i如果您知道文本文件中的尺寸和值总是由空格(包括换行符)分隔,则可以执行以下操作:
vector<vector<int>> Pix(height, vector<int>(width));
for (auto& y : Pix)
{
for (auto& x : y)
{
if (! (mystream >> x))
{
// failure to parse
}
}
}
向量Pix(高度、向量(宽度));
用于(自动和y:Pix)
{
用于(自动和x:y)
{
如果(!(mystream>>x))
{
//解析失败
}
}
}
请注意,向量的索引应为Pix[y][x]
可能的重复:谢谢。这会允许向量改变大小,因为将有数百个值进入其中。我已经知道向量的最终大小。@JamesRushbrooke我不确定你的意思。这里向量在开始时设置为最终大小。我假设最终大小已知?是的,最终大小已知,我知道i don’我不知道每个值如何进入向量的正确位置,因为它们必须位于正确的高度和宽度位置。如果我的问题没有意义,我很抱歉,我对所有这些都很陌生@Neilkirk你了解for循环吗?第一个将每一行向量放入y
,然后第二个将将行向量转换为x
。它将查询向量的当前大小,在本例中为width
,以了解每行x
中应处理多少个元素。好的,太好了……以及if条件……我不太明白它的作用,以及在//failure to parse部分应该放什么。再次感谢