- ベストアンサー
変数内の指定の文字列を消去するには?
以下のような文字列が変数aの中に入っているとします "ABC CO.,I","4540",""STAR"","2010/03/31" この中から CO.,という文字だけを抜き取り、 変数aにある文字列は "ABC I","4540",""STAR"","2010/03/31" にしたいと思っておりますが、どのように行ったらよいのでしょうか? 初心者の質問で申し訳ありませんがよろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
まだ受付中みたいなので、もう一言だけ。 基本的に文字列から文字を抜き取る、切り取る、消すという事は出来ないと思って下さい。 ですのでNo.1,2氏のようにCO.,を上書きするか、または変数bを新たに用意しCO.,以外をコピーするしかありません。
その他の回答 (3)
- sankaku197
- ベストアンサー率47% (29/61)
No.1氏のやり方だとこんな感じになります。 char* p = strstr(a,"CO.,"); memmove(p,p+4,strlen(p+4)); ところで余談ですが、参考URLは私がCをやる時によく活用してるページです。 もしご存知でないようでしたら、ブックマークする事をお勧めします。
お礼
丁寧に解説してくださいましてありがとうございます。 凄く参考になりました!! また、お勧めのページまで教えて下さいまして 本当に感謝しております。
- jacta
- ベストアンサー率26% (845/3158)
strstrで"CO.,"の位置を見つけて、memmoveで詰めてください。
お礼
わかりやすい回答に感謝します!
- osamuy
- ベストアンサー率42% (1231/2878)
CStringなど高度なクラスライブラリの変数なら、置換メソッドが使えるのでそれを使う。 <string.h>とかしか使えないのだったら、strstrで見つけて、COをつぶすようにmemmove()するとかいろいろ。
お礼
CStringというものが何なのかわからなかったので 早速検索してみました。 勉強になりました、ありがとうございます。
お礼
なるほど そういう考え方なのですね! 非常に勉強になります、ありがとうございました。