У меня есть подкаталог в главном каталоге моих проектов под названием «данные». В этом каталоге есть несколько CSV-файлов, а также текстовый файл, а текстовый файл содержит имена некоторых CSV-файлов, из которых я хочу прочитать данные. Используя цикл while, я хочу получить имя каждого файла из текстового файла «infile», сохранить его в строке «files» и использовать эту строковую переменную для открытия каждого файла в подкаталоге. Я просто не знаю, как я могу получить доступ к подкаталогу, используя эту строковую переменную. Что я сделал в приведенном ниже коде, так это переместил файлы, которые я хочу использовать, в мой основной каталог, и он работает так, как предполагалось, но я хочу добиться того же, просто получив доступ к подкаталогу. Какие-либо предложения?
string files;
ifstream infile("data\\met_index.txt"); //Open the text file that shows the csv files needed
if(!infile) //Exits the program and outputs this message if the file is not found
{
cout << "File not found.";
return -1;
}
Vector<string> headers; //A vector of type String to hold the headers for each column
while(getline(infile, files))
{
ifstream datafile(files.c_str()); // How do I access sub directory here?
if(!datafile) //Exits the program and outputs this message if the file is not found
{
cout << "File not found.";
return -1;
}
cout << "File: " << files << endl;
}
("data\\" + files).c_str()
? Также вы можете изучить en.cppreference.com/w/cpp/filesystem/path для лучшей совместимости, что позволяет правильно объединять пути. - person Askold Ilvento   schedule 18.05.2020