QString から std::string: データ型のブリッジング
プログラミングの過程では、作業が必要な状況に遭遇するかもしれません。 Qt の QString と標準ライブラリの std::string の両方を使用します。この変換は、std::string 中心のコンテキスト内で QString の機能を使用する場合に特に必要になります。
課題: 互換性のないデータ型
直接変換しようとする場合std::cout を使用して QString をコンソールに出力すると、コンパイル エラーが発生する可能性があります。これは、QString が Qt 固有のデータ型であり、std::cout で予期される std::string 型に直接準拠していないためです。
解決策: QString::toStdString()
QString と std::string の間のギャップを埋めるために、Qt は QString::toStdString() 関数を提供します。この関数は、QString のコンテンツのコピーを std::string として作成し、std::string の機能をシームレスに使用できるようにします。
実装
「qs」という名前の QString を std::string に追加するには、次のコードを使用できます。
<code class="cpp">std::string str = qs.toStdString();</code>
これで、std::cout:
を使用して std::string "str" を出力できます。<code class="cpp">std::cout << str << std::endl;</code>
Unicode 認識
QString::toStdString() は内部で QString::toUtf8() を使用することに注意することが重要です。これは、変換によって作成された std::string が UTF-8 エンコーディングになり、元の QString 内の Unicode 文字が維持されることを意味します。
参照:
QString とその機能を包括的に理解するには、Qt の公式ドキュメントを参照してください: https://doc.qt.io/qt-5/qstring.html
以上がC で QString を std::string に変換するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。