Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/163.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将txt文件值插入多维向量_C++_Multidimensional Array_Vector - Fatal编程技术网

C++ 将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<

我需要一些帮助将一系列值插入向量。 例如,我的.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<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部分应该放什么。再次感谢