ページ 11

変数付きの文字列

Posted: 2010年8月07日(土) 20:32
by みすた
例えばprintfでは、文字列の中に変数(%d,%sなどで表すやつ)を組み合わせて文章を作ることができます。
でもそれは画面上に出力するのみの機能しか持ち合わせていません。
質問なのですが、出来上がった文字列(つまり、変数をちゃんとした文字にした後のもの)を、
新たな変数にまとめて代入しなおすっていうことはできるのでしょうか。
ちょっと分かりにくい表現ですみませんが、よろしくお願いします。 画像

Re:変数付きの文字列

Posted: 2010年8月07日(土) 20:36
by パコネコ
間違ってたらごめんなさい
文字列をコピーするなら
strcpyってやつでいいと思います。
strcpy(a,b);
でbの内容をaにコピーするって意味だと思います。

==============
見当違いだったようで…すいませんでした。 画像

Re:変数付きの文字列

Posted: 2010年8月07日(土) 20:37
by シエル
たぶんsprintfを調べれば幸せになれるかも。

Re:変数付きの文字列

Posted: 2010年8月07日(土) 20:44
by たかぎ
言語不明、処理系不明なので、正確なことはいえませんが、たぶん、期待している回答は、sprintf, snprintf, swprintfあたりだと思います。
boost::formatを使えばさらに幸せになれる可能性がありますね。
std::ostringstreamを使うのも悪くないと思います。

Re:変数付きの文字列

Posted: 2010年8月07日(土) 20:55
by みすた
みなさんありがとうございます。
はい、ちょうどsprintfのようなものを知りたかったです。

ただ使ってみたところコンパイルエラーが起こって上手く出来ませんでした。
コンパイル時に「sprintf_sなどを使うと安全」などと言われたのでそれも試しましたがだめでした。

たかぎさんのおっしゃる通り情報不足でしたので補足しますと、
言語:C++
コンパイラ:visual studio 2010
です。あとDXライブラリをベースとして使っています。

boost::format、std::ostringstreamはまだ試してませんが、ちょっと使い方勉強してみます。

Re:変数付きの文字列

Posted: 2010年8月07日(土) 21:16
by box
> ただ使ってみたところコンパイルエラーが起こって上手く出来ませんでした。
> コンパイル時に「sprintf_sなどを使うと安全」などと言われたのでそれも試しましたがだめでした。

どんなコードを書いたときにどうダメだったのかを
具体的に書いてほしいものです。
今のままでは、問題の解決に全くつながりません。

Re:変数付きの文字列

Posted: 2010年8月07日(土) 21:16
by みすた
おぉ・・・!ごめんなさいできました!
文字列変数の扱いの初歩的なミスが原因で出来なかったっぽいです・・・。

ともかくも、おかげさまで幸せになることができました。
みなさまありがとうございます!

Re:変数付きの文字列

Posted: 2010年8月07日(土) 21:17
by みすた
>>boxさん
ああ確かに・・・。次からはちゃんとコードも添えて書くようにします。
ご指摘ありがとうございました。