从文本文件或字符串中进行数据提取或挖掘:
这时就需要用到格式输入字符串函数:
sscanf() - 从一个字符串中读进与指定格式相符的数据。swscanf()- 用于处理宽字符字符串,和sscanf功能相同。
而 scanf() 按用户指定的格式从键盘上把数据输入到指定的变量之中。
fscanf()其功能为根据数据格式(format)从输入流(stream)中写入数据(argument)
注意这三个使用的数据源不同。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
void main()
{
char str[100] = "1001 tomy tomy@163.com";
char id[10];
char name[20];
char email[30];
/*
sscanf() - 从一个字符串中读进与指定格式相符的数据。swscanf()- 用于处理宽字符字符串,和sscanf功能相同。
而 scanf() 按用户指定的格式从键盘上把数据输入到指定的变量之中。
fscanf()其功能为根据数据格式(format)从输入流(stream)中写入数据(argument)
注意这三个使用的数据源不同。
*/
sscanf(str, "%s%s%s", id, name, email);
printf("%s %s %s \n", id, name, email);
char pstr[100] = "1001#tomy#tomy@163.com"; //这样的字符串就需要使用 集合 来提取了。
sscanf(str, "%[0-9]%*[^0-9a-zA-Z]%[0-9a-zA-Z]%*[#]%[0-9a-zA-Z@.]", id, name, email);
printf("%s %s %s ", id, name, email);
system("pause");
}