• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:C言語で取得した文字列を、C++の文字列として取り扱いたいです。 )

C言語で取得した文字列をC++の文字列として取り扱いたい方法

このQ&Aのポイント
  • C言語で取得したchar型で定義された文字列を、C++のstd::stringに渡す方法を教えてください。
  • 具体的には、C言語側で定義されているchar型の文字列の値を、C++側のstd::string型としてC++ソースに渡したいです。
  • アドバイスや簡単な例があれば、教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.4

> char key1 = "deperture"; 本当にこれであっていますか? char key1[] = "deperture"; ではないですか? そうだとした場合、C++側では、 extern "C" char key1[]; std::string key2(key1); とすればよいかと思います。

c_iamok
質問者

お礼

> 本当にこれであっていますか? おっしゃる通り、下記の配列の意味です。 失礼しました。 char key1[] = "deperture" 教えていただいた方法で解決いたしました。 ありがとうございます!

その他の回答 (3)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

「元から」ってのは「宣言を一切変えないで」ってつもりだったんだけどなぁ. 確かに言葉が足りないか.

  • tettsu
  • ベストアンサー率30% (4/13)
回答No.2

質問の意図がよくわかりませんが、 こういうことですかね? char key1[10] = "deperture"; std::string key2 = key1;

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

char key1 = "deperture"; の意味がよくわからんけど, 「元から C++ である」としたらあなたはどのように書きますか? たぶんそれであってると思うよ.

c_iamok
質問者

お礼

Tacosanさん ご回答ありがとうございます! 元から、 C側がC++であるとしたら、 C側で 「char key1」を 「std::string key1」で宣言しておいて、 C++側では その(C)ファイルをincludeし、 「key1 = key2;」とすることで、 key1の値を、key2に渡してみようと考えました。 合ってますでしょうか? とんちんかんな事言ってたら申し訳ありません。

関連するQ&A

専門家に質問してみよう