Что заставляет printf() выводить на консоль странные символы при использовании escape-последовательностей? [дубликат]C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Что заставляет printf() выводить на консоль странные символы при использовании escape-последовательностей? [дубликат]

Сообщение Anonymous »

Я пишу простую функцию для использования в одном из файлов реализации моей утилиты. Недавно, используя одну из библиотек 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»