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
「初心者のためのポイント学習C言語」
Copyright(c) 2000-2004 TOMOJI All Rights Reserved