• ベストアンサー

C言語での文字列より値を抜き出す

C言語初心者です。 たとえば、”ABCDE”という文字列があります。 その文字列の2桁目から3文字を取得したい場合、 どのようにすればよろしいでしょうか。  上記の場合、”BCD”が欲しい SQLだと、SUBSTR(B)関数がありますが、C言語には 同様な関数があるのでしょうか。 また、C++ではどうでしょうか。 お客さんに突然聞かれたので、本屋に行く余裕もありませんでした。 どなかた教えてください。お願いします。

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

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

多分、strncpyを使うのでしょうね。 const char *src="ABCDE"; char buff[10]; strncpy(buff, src+1, 3); で、buffに"BCD"が切り出されます

tyurajima
質問者

お礼

早速試してみます。 ありがとうございました。

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

C++でも#1がそのまま使えますが basic_stringテンプレートクラス<string>に substr(pos, size)というメソッドがあります C++.NETにも Stringクラスに 同様のメソッドがあります

tyurajima
質問者

お礼

.NETでも同様に使えるのですね。 今回は使いませんが、覚えておこうと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう