Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 15.04.2022
Сообщений: 2

Список файлов в каталоге с кириллицей в path

15.04.2022, 11:53. Показов 1025. Ответов 5

Студворк — интернет-сервис помощи студентам
C++17
При вводе пути на латинице проблем нет (C:\qwe\rty)
При вводе на кириллице существующего каталога (C:\кве\рти) читать отказывается
В чём проблема \ как исправить?
Спасибо

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//некоторые include могут быть лишними, не важно
#include <iostream>
#include <stdio.h>
#include <string>
#include <fstream>
#include <filesystem>
 
int main() {
 
    //ввод пути до папки в виде C:\qwe\rty
    std::wstring folderpath;
    std::wcout << "\nEnter full path to your folder: \n";
    std::getline(std::wcin, folderpath);
 
    //вывод файлов в каталоге
    for (const auto& entry : std::filesystem::directory_iterator(folderpath)) {
        std::wcout << entry.path();
    }
 
    return 0;
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.04.2022, 11:53
Ответы с готовыми решениями:

Список файлов в каталоге
Добрый день. Хочу получить список файлов из папки, решение ниже работает, но в результате выполнения по мимо файлов в папке catalog...

Список файлов в каталоге
Здравствуйте!У меня вот такая задачка:Shell-программа подсчитывает количество и выводит список всех файлов (без каталогов) в порядке...

Получить список файлов в каталоге
Здравствуйте! Мне нужно получить список файлов в каталоге, чтобы потом как-то работать с этими файлами, для начала, отсортировать их по...

5
 Аватар для Наталья8
518 / 368 / 65
Регистрация: 09.03.2016
Сообщений: 3,890
15.04.2022, 12:25
Мне помогает (msvs 2013) вот такая хрень.
C++
1
setlocale(LC_ALL, "Russian");// Принимает русский путь...(проблемы с русскими путями)
Добавлено через 51 секунду
От компилятора зависит.
1
8 / 6 / 2
Регистрация: 20.09.2020
Сообщений: 9
15.04.2022, 13:56
MSVC имеет нестандартную перегрузку специально для этого, чтобы иметь возможность обрабатывать НЕ ASCII символы в именах файлов, исходя из этого, ответ Натальи выше - будет результативным, и у меня также решил проблему (С++17). Можно ещё попробовать сохранить файл в UTF16/USC-2 (главное не UTF-8), но зависит по большей части от компилятора
1
0 / 0 / 0
Регистрация: 15.04.2022
Сообщений: 2
15.04.2022, 14:51  [ТС]
Цитата Сообщение от iKendle Посмотреть сообщение
Можно ещё попробовать сохранить файл в UTF16/USC-2 (главное не UTF-8)
А как это сделать?

Вариант Натальи пробовал, не помогает
Тут дело не в вводе\выводе в консоль (он работает корректно), а в том, что std::filsystem отказывается принять wstring на русском
0
 Аватар для igorrr37
2870 / 2017 / 991
Регистрация: 21.12.2010
Сообщений: 3,728
Записей в блоге: 15
15.04.2022, 15:43
Лучший ответ Сообщение было отмечено iiiiiiiiiiiii как решение

Решение

у меня вот так работает
C++
1
2
system("chcp 866");
std::setlocale(LC_CTYPE, ".866");
и вот так тоже работает
C++
1
2
system("chcp 1251");
std::setlocale(LC_CTYPE, ".1251");
1
 Аватар для Наталья8
518 / 368 / 65
Регистрация: 09.03.2016
Сообщений: 3,890
23.04.2022, 00:33
Вот такой ещё нашёл финт ушами.

C++
1
std::locale::global(std::locale(""));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.04.2022, 00:33
Помогаю со студенческими работами здесь

Получить список файлов в каталоге
как получить вписок файлов и их свойств (например дату изменения) в известном каталоге?

Список файлов в указанном каталоге
Использую функцию FindFirstFile: hf = FindFirstFile(L&quot;c:\\folder\\*&quot;, &amp;FindFileData); Такой вопрос: как вместо...

Вывести список файлов в каталоге
Напишите программу, которая составляет список файлов, расположенных в каталоге, имя которого задается в командной строке и создает...

Получить список файлов в определенном каталоге
ДД! Как-то можно получить список всех файлов в определенном каталоге?

Получить список файлов в указанном каталоге
Как получить список файлов в указаном каталоге? И находить файлы с указаным расширением или именем? Пример: В каталоге D:\test...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США. Нашел на реддите интересную статью под названием «Кто-нибудь знает, где получить бесплатный компьютер или. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru