stringによる文字列の読み取り

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
setton

stringによる文字列の読み取り

#1

投稿記事 by setton » 12年前

settonです。
stringによる文字列の読み取りについて質問です
C1やC2といったCの後に数字のついた数、
H,G,
L1やL2といったLの後に数字のついた数
が、二つ、空白を挟んでランダムに並んだあと空白を挟んで数字が並んでいる文字を読み取りたいのですが…
わかりづらくてすみません。
たとえば
C48 H 10
G L2 5
みたいな感じです。
今、C++を使って

コード:

string<int> a,b;
int n;
scanf("%s %s %d",&a.c_str,&b.c_str,&n);
}
としたところ、エラーが出てきました。
stringより使いやすいものがあればそれでも構わないのですが、分かる方がいたら教えてください。

アバター
h2so5
副管理人
記事: 2212
登録日時: 13年前
住所: 東京
連絡を取る:

Re: stringによる文字列の読み取り

#2

投稿記事 by h2so5 » 12年前

文字列を読み込んだあと、どのように変数に代入したいのかがよく分からないので詳しく書いてください。
また、std::stringのc_str()関数は読み取り専用なので戻り値のポインタには書き込めません。

setton

Re: stringによる文字列の読み取り

#3

投稿記事 by setton » 12年前

c_strって読み取り専用なんですか!?
うーん…

コード:

cin >> a >>' '>> b >>' '>>n;
としたら可能ですかね?
文字列を読み込んだあと、どのように変数に代入したいのかがよく分からないので詳しく書いてください。
よく意味が分からないんですが…
理解力不足ですみません。
文字列を読み込んだ後は

コード:

string::size_type index = a.find('H');
          if(index != string::npos){
                   //実処理~~~
             //以下同様に…
という風に判定して行こうかと思っているのですが

アバター
a5ua
記事: 199
登録日時: 13年前

Re: stringによる文字列の読み取り

#4

投稿記事 by a5ua » 12年前

以下のコードでOKだと思います。

コード:

std::string a;
std::string b;
int n;

std::cin >> a >> b >> n;

Cr

Re: stringによる文字列の読み取り

#5

投稿記事 by Cr » 12年前

回答ありがとうございます
scanfなんか使うからめんどくさくなってるんですねw
cinで空白続きの物を読み取ったことがなかったのでてっきりできないのかと…
回答くださった皆様ありがとうございました!

閉鎖

“C言語何でも質問掲示板” へ戻る