Использование программы, которая использует std :: fileystem для чтения каталога, отфильтровать имена, а затем открыть и написать несколько файлов.
Это прекрасно работает с Linux. /> Я использовал последние 2 дня для поиска решения, такого как замена кода std :: fileystem кодом Win-API с использованием WHARS. < /p>
Ничего из этого не работает.cmake_minimum_required(VERSION 3.10)
project(Listavailiblelocales)
set(CMAKE_VERBOSE_MAKEFILE ON)
#set(BOOST_DEBUG YES)
set(BOOST_VERBOSE YES)
# Find Boost
##find_package(Boost REQUIRED COMPONENTS filesystem)
find_package(Boost REQUIRED COMPONENTS locale filesystem)
# Check if Boost was found
if(Boost_FOUND)
message(STATUS "Boost_INCLUDE_DIRS : ${Boost_INCLUDE_DIRS}")
message(STATUS "Boost_LIBRARY_DIRS : ${Boost_LIBRARY_DIRS}")
message(STATUS "Boost_VERSION_STRING: ${Boost_VERSION_STRING}")
else()
message(WARNING "Boost not found!")
endif()
# Add the executable
add_executable(my_program src/main.cpp)
target_compile_features(my_program PRIVATE cxx_std_23)
# Link Boost libraries
##target_link_libraries(my_program PRIVATE Boost::filesystem)
target_link_libraries(my_program PRIVATE Boost::locale Boost::filesystem)
< /code>
Здесь какой -то код с использованием локали Boost и Boost Fileystem < /p>
#include
#include
#include
#include
#include
#include
#include
#define NOGDI
#include "windows.h"
#include
#include
namespace fs = boost::filesystem;
namespace bl = boost::locale;
using namespace std;
int main() {
// Initialize Boost.Locale
boost::locale::generator gen;
// Set the global locale to de-DE
std::locale::global(gen("de_DE.UTF-8"));
// Use the de-DE locale
std::cout.imbue(std::locale());
fs::path p(".");
// Check if the path exists
if (fs::exists(p)) {
std::set sorted_by_name;
std::cout
Подробнее здесь: https://stackoverflow.com/questions/796 ... zing-mingw