У меня есть папка с файлами с такими именами «In_YMD_xxx» и «Out_YMD_xxx», где YMD - год, месяц и день (exp 20150101), а xxx - его idx, например 050. Я ищу простой способ прочитать имя последних файлов (In_ .. и Out_ ..), которые были созданы с использованием библиотеки boost в C++.извлечь все файлы из каталога, начинающегося с определенного слова
Вот пример файлов, которые у меня есть в моем каталоге: "C: \ Клиент \ AppleFruit \"
In_20141101_001
In_20150102_002
In_20150130_0101
In_20150201_001
Out_20140501_101
Out_20141101_101
Out_20150101_152
Out_20150201_191
Ниже приведен код, который я пытаюсь написать в C++:
#include "boost/filesystem.hpp"
boost::filesystem::path p("C:\Customer\AppleFruit\");
typedef vector<path> vec; //sort path
vec inVec, outVec;
std::string inFilename, outFileName;
sort(v.begin(), v.end());
for (vec::const_iterator it (v.begin()); it != v.end(); ++it)
{
if (file_name_Starts_with_IN) // here I am looking for the correct "if condition"
inVec.push_back(*it);
else if (file_name_Starts_with_OUT) //same thing here
outVec.push_back(*it);
}
inFilename = inVec(end);
outFileName= outVec(end);
Любая идея please..Thanks
Может быть, вы должны избежать строку, содержащую ваш путь или использовать/вместо of \ в качестве разделителя пути. – drescherjm