格式化输入与输出
今天主要介绍下c语言中比较重要的两个函数,sprintf和ssconf。
1.sprintf-格式化输出
man手册描述
用的比较多的sprintf函数接口
int sprintf(char *str, const char *format, ...);
将format字符串输出到str的地址之中。
2.sscanf-格式化输入
man手册描述太多,此处不贴出来了,请自行去man 3 sscanf(man 手册使用自行百度,或者查看我以前博客“c语言处理字符串”)
函数原型
int sscanf(const char *str, const char *format, ...);
将str字符串中的数据提取出来。
请看两个函数使用的示例代码
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define STRING "name:%s ,age:%d ,sex:%s ,hobby:%s "
int main(int argc, const char *argv[])
{
//格式化输出
char date[64];
memset(date,0,64);
sprintf(date,STRING,"xiaoli",20,"man","runing,reading,shopping");
printf("%s\n",date);
//格式化输入
char name_str[16];
int age;
char sex_str[16];
char hobby_str[32];
memset(name_str,0,16);
memset(sex_str,0,16);
memset(hobby_str,0,32);
sscanf(date,STRING,name_str,&age,sex_str,hobby_str);
printf("name:%s\n",name_str);
printf("age:%d\n",age);
printf("sex:%s\n",sex_str);
printf("hobby:%s\n",hobby_str);
return 0;
}
编译运行
注意:字符串输入时,会以空格结束。