• ベストアンサー

C++のcin命令について

 私は、C++言語を勉強している初心者です。  ある日、C++言語では、   「cin >> a >> b >> c;」と書くと、プログラムを実行したときに、   「3 4 5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるということを知りました。  けど、今まで私がC言語を使う際に使っていた、   「scanf("%d,%d,%d",&a,&b,&c);」という文では、プログラムを実行したときに、   「3,4,5」と入力すれば、変数aには 3 が、変数bには 4 が、変数cには 5 が代入されるというように、3つの数字の間にカンマを入れて数を代入するというプログラムを作りたいのですが、どうやってもcin命令では再現できません。  超初心な質問ですが、わかる方がいらっしゃったら、やり方を教えてください。

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

  • ベストアンサー
  • tediwec
  • ベストアンサー率70% (21/30)
回答No.1

こんにちは。 char型の変数を用意してそれにカンマを入れるようにしてみました。 int a, b, c; char comma; cin >> a >> comma >> b >> comma >> c; こんな感じでどうでしょうか?

noname#129397
質問者

お礼

 私のコンピュータでやってみると、うまくいきました。  いい考えをありがとうございました。

その他の回答 (1)

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

scanfと同じ動作をさせたいなら、素直にscanfを使えばいいと思いますが。 cinとscanfは全く別物ですから, cinで全て出来ると考えるのは間違いでしょう。 まあ、長々とプログラムを書くつもりならできないことはないかも知れませんが,そんなことに労力を使う必要はないでしょう。 ちなみに、#1の回答で「似た動作」はしても、 同じ動作はしません。 その違いが問題になるかどうかはケースバイケースですが。 C++の勉強なら他にやることがあると思いますので,そこまでcinに拘ることは無いと思います。

noname#129397
質問者

お礼

 なるほど、C言語とC++は互換性があるっていう話を聞いたことがあります。それもそうですね。  いい考えをありがとうございました。

関連するQ&A