Откройте файл csv с помощью Ifstream c ++ - PullRequest
0 голосов
/ 09 мая 2020

Я пытаюсь открыть файл csv с помощью ifstream, но он не может найти правильный путь I git эта ошибка: не указан допустимый входной файл, проверьте имя файла

static void read_csv(const string& filename, vector<Mat>& images, vector<int>& labels, vector<string>& infolabels, char separator = ';') {
    std::ifstream file(filename.c_str(), ifstream::in);
    if (!file) {
        string error_message = "No valid input file was given, please check the given filename.";
        CV_Error(Error::StsBadArg, error_message);
    }
...
}

Я вызываю эту функцию:

const string fn_csv = "C:\\Users\\XXX\\AndroidStudioProjects\\Application\\app\\src\\main\\res\\raw\\face.txt";
    read_csv(fn_csv, images, labels,infolabels);

1 Ответ

0 голосов
/ 11 мая 2020

вы можете захотеть проверить, существует ли файл по указанному вами пути. Вот кое-что, что вы можете попробовать

  std::string line;
  std::ifstream myfile ("C://somefolder//yourfile.txt");
  if (myfile.is_open())
  {
    while ( getline (myfile,line) )
    {
      std::cout << line << '\n';
    }
    myfile.close();
  }

  else 
     std::cout << "Unable to open file";

Также преобразование в строку C с помощью c_str () не требуется. Конструктор ifstream принимает объекты std :: string.

...