Я пишу простую функцию для использования в одном из файлов реализации моей утилиты. Недавно, используя одну из библиотек C++17, я обнаружил, что записи каталога выводятся с помощью функции std::filesystem::path::string() внутри вызова printf(). > приводит к отправке в STDOUT только строки нечетных символов. Использование cout не приводит к возникновению проблем. Вот код:
if( !initialized )
{
try
{
const filesystem::path MODELS_DIRECTORY = R"(C:\-----\-----\-----\models)";
const filesystem::path RESOURCES_DIRECTORY = filesystem::relative(R"(\Resources)", MODELS_DIRECTORY);
for( const filesystem::directory_entry& dir_entry : filesystem::directory_iterator{ MODELS_DIRECTORY } )
{
string test = "this\\is\\a test\\";
string directory = dir_entry.path().string();
printf("%s\n", test);
//cout
Подробнее здесь: https://stackoverflow.com/questions/793 ... escape-seq
Мобильная версия