ホームページ > バックエンド開発 > C++ > C で QString を std::string に変換するにはどうすればよいですか?

C で QString を std::string に変換するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-10-29 02:51:02
オリジナル
767 人が閲覧しました

How do I Convert a  QString to a std::string in C  ?

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート