sscanf

文字列から書式指定に従い入力

【書式】
#include <stdio.h>
int sscanf(const char *str, const char *format,  ... );

【説明】
文字列strから書式formatにしたがって、scanf関数と同様の変換を行った入力を、指定されたアドレスに格納します。
要はscanfの入力がキーボードからではなく文字列strになると考えてください。

【引数】
const char *str : 入力元の文字列。
const char *format : 書式指定文字列。 詳しくはscanf関数参照のこと。
... : 格納可変個引数。この引数が示すアドレスへ書式指定に従い入力します。
      書式指定文字列はこの引数と同数必要です。

【戻り値】
成功時 : 入力データの個数
       0にもなり得ます。例えばstrに"A"を、書式指定に"%d"を指定した場合などは
       入力が行われず0が返却されます。
失敗時 : EOF

【使用例】
#include        <stdio.h>

int main(void)
{
        char str[] = "ともじ 1978.03.22 生まれ 23才";   /* 大嘘 */
        char name[20];
        int year,month,day,age;
        
        sscanf(str,"%s %d.%d.%d 生まれ %d",name,&year,&month,&day,&age);
        printf("name:%s\n",name);
        printf("birth day:%d.%d.%d\n",year,month,day);
        printf("age:%d\n",age);

        return 0;
}
【実行結果】
name:ともじ
birth day:1978.3.22
age:23

戻る


banner
初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved