問題タブ [std-filesystem]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
2425 参照

character-encoding - std::string/std::wstring を std::filesystem::path で処理するクロスプラットフォームの方法

Linux で例外をスローしている C++ コードのサンプルがあります。

スローされる例外は次のとおりです。filesystem error: Cannot convert character sequence: Invalid in or incomplete multibyte or wide character

問題はçキャラクターの使用に関連していると推測します。

  1. このワイド文字列 (wchar_t) が「無効または不完全なマルチバイト文字またはワイド文字」なのはなぜですか?
  2. 今後、関連するコードをクロスプラットフォームにして、Windows や Linux で実行するにはどうすればよいでしょうか。
    • 使用する必要があるヘルパー関数はありますか?
    • プログラマーの PoV から強制する必要のあるルールは何ですか?
    • ここで「Linux ではワイド文字列を使用しないでください」という回答を見ましたが、Windows でも同じ規則を使用しますか?

Linux 環境 (クロスプラットフォームで実行したいという事実を忘れないでください):

  • Ubuntu 18.04.3
  • gcc 9.2.1
  • C++17