Использование std :: файловая система с G ++ 12.1.0 повышает «не может конвертировать последовательность символов: неверC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Использование std :: файловая система с G ++ 12.1.0 повышает «не может конвертировать последовательность символов: невер

Сообщение Anonymous »

Я обновляю свой компилятор с G ++ 8.2.0 до 12.1.0. Код должен работать под Windows и Linux. Он создает файл с символами UTF-8 по имени и пытается его скопировать. < /P>

под Windows (VS 2022 Compiler), он компилирует и работает нормально < /li>
под Linux, с G ++ 8.2.2, он компиляции и выполняется в порядке < /li>
in linux, с G ++, и сбором. Время выполнения < /li>
< /ul>
ошибка Linux: < /p>

Код: Выделить всё

COPY RAISED filesystem error: Cannot convert character sequence: Invalid or incomplete multibyte or wide character
COPY FAILED
< /code>
Вот программа: < /p>
#include 
#include 
#include 
#include 
#include 
#include 

bool DoCopyFile( const std::wstring& sSource, const std::wstring& sDest )
{
try
{
std::error_code ec;
auto options = std::filesystem::copy_options::none;
std::filesystem::copy( sSource.c_str(), sDest.c_str(), options, ec );
if ( ec.value() == 0 )
{
return true;
}
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79640126/using-stdfilesystem-with-g-12-1-0-raises-cannot-convert-character-sequence[/url]
Ответить

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

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

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

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

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