Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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++ 从文件填充二维数组_C++_Arrays - Fatal编程技术网

C++ 从文件填充二维数组

C++ 从文件填充二维数组,c++,arrays,C++,Arrays,您好,我有一个从文件填充二维数组的问题 我有一个带字符串的文件数组 每行上的字符串有78个字符 文件有19行。 (最后一行的字符串只有60个字符) 这个文件 00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF FFFFFFFFFFFFF

您好,我有一个从文件填充二维数组的问题

我有一个带字符串的文件数组 每行上的字符串有78个字符 文件有19行。 (最后一行的字符串只有60个字符)

这个文件

00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFXX
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF1XX1FFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
我尝试用文件中的变量填充2D数组。 我需要用5行和300列填充数组

但我不知道怎么做

它是关于图像中像素的信息。我想用C++填充C++中的数组。数组必须具有类似x*y的图像。(5*300)

我试了几个小时,但没有成功

我的密码在这里

T **imageHEX; //char
    int VYSKA = 5 , SIRKA = 300 , VLINE = 78;
    int lines = 0; // precitane riadky

                   // alokacia miesta pre na obrazok vyska x sirka
    imageHEX = new T*[VYSKA];
    for (int i = 0; i < VYSKA; i++)
        imageHEX[i] = new T[SIRKA];


    ifstream file("heximg.txt"); // pass file name as argment
    string line;

    int pom = 0;
    int line_in_file = 0;
    int pocetvline = 0;

    int doline= 0;
    int zaciatok;
        // do something
    for (int lines = 0; lines < VYSKA; lines++) {
        pom++;

                if (doline != 0) {
                    cout << "doline  " << doline << endl;
                    for (int zostatok = doline; zostatok < 78; zostatok++) {
                        imageHEX[lines][zostatok-doline-1] = line[zostatok % 78];
                        pocetvline++;
                    }

                    zaciatok = 78 - doline-1;
                }
                else {
                    zaciatok = 0;
                }
                for (int lnmax = 0; lnmax < SIRKA; lnmax++)
                {       
                            if ((lnmax % 78 == 0)) {
                                getline(file, line);
                                line_in_file++;
                                cout << line_in_file << "  " << line << endl;
                            }
                            if (lnmax + zaciatok < SIRKA) {
                                imageHEX[lines][lnmax + zaciatok] = line[lnmax % 78];
                            } else {
                                for (int zvysok = 0; zvysok < zaciatok; zvysok++) {
                                    imageHEX[lines+1][zvysok] = line[lnmax % 78];
                                }
                            }
                            pocetvline++;

                            doline = lnmax % 78;




                }

                for (int tst = 0; tst < SIRKA; tst++) {
                    cout << imageHEX[lines][tst];
                }
                cout <<"druhyriadok " << lines << endl;
                cout << "pocet v riadku " << pocetvline << endl;
                pocetvline = 0;
        //  lines++;
        }
    //}     
    file.close();

 I fill array with variables from file, but wrong, If I read char somwhere from middle string and in array have sourroudings [x][299] automatically read next line and rest in line is in next line (on start in next line) But I have troubble with continue indexing when I read line from next row in file.
T**imageHEX//烧焦
int VYSKA=5,SIRKA=300,VLINE=78;
整数行=0;//里亚德基酒店
//阿罗卡西亚·米斯塔·阿罗卡西亚·阿罗卡西亚·米斯塔
imageHEX=新的T*[VYSKA];
对于(int i=0;icout只使用一个字符一个字符地读取文件可能更容易,并且忽略换行符,例如

#include <fstream>
#include <cctype>
#include <iostream>

bool isHex(char val) {
  return ('0' <= val && val <= '9') || ('A' <= val && val <= 'F');
}

void readFile(std::ifstream& file, char** imageHex, int rows, int columns) {
  char currentByte;

  for (int row =0; row < rows; row++ ) {
    for(int column=0; column < columns; column++ ) {
      if (!file.get(currentByte)) {
          // end of file, or other error
          return;
      }
      if (isHex(currentByte)) {
        imageHex[row][column]=currentByte;
      }
      else if (!std::isspace(currentByte)) {
         std::cout << "Unexpected character '" << currentByte 
         << "' at (" << row << ", " <<column << ") " << std::endl;
      }
    }
  }
}
#包括
#包括
#包括
布尔isHex(字符值){

return('0'工作正常,但只有一个错误。在when read file中的每一个结束行上放上imageHex char'='。我将这一行放在else{column--;}的末尾