C言語 文字列から書式付きで取得 - stdio.h - [ sscanf ]

2008.10.19 Sunday | by LRESULT


字列から書式付きで、データを取得するには、sscanf()を使用します。

基本的な使い方は、scanf()と同じような使い方です。


sscanf
書式 int sscanf( const char *s, const char *format, ... )
機能 文字列から書式付きで、データを取得する
引数 const char *s : 入力元となる文字列
const char *format : 書式文字列
... : 可変個引数で書式で指定された変数をカンマ区切りで指定
戻り値 成功すると、入力項目数を返し、
失敗すると、EOF(-1)を返します。





サンプルコード
入力元となる文字列「10 A0 123.456 ABCDEFG」から、
「10進数 16進数 浮動小数点 文字列」として文字列からデータを取得して表示してみます。
#include <stdio.h>

int main(void)
{
  char *src = "10 A0 123.456 ABCDEFG";
  int i;
  int x;
  float f;
  char s[100];

  sscanf( src, "%d %x %f %s", &i, &x, &f, &s );
  printf( "%d¥n", i );
  printf( "%X¥n", x );
  printf( "%.3f¥n", f );
  printf( "%s¥n", s );

  return 0;
}



結果
10
A0
123.456
ABCDEFG
と、表示されます。
このように、文字列src に入力されていた文字列を分解して
それぞれの変数に格納してあげる事が出来ます。

カテゴリ:C言語 stdio.h | 22:24 | comments(0) | trackbacks(0) | -


コメントする











この記事のトラックバックURL

http://simd.jugem.jp/trackback/79

トラックバック