sscanf实用功能简介

sscanf实用功能简介

1.适用范围:适用于对某一字符串特定要求取值。
2.基本格式:sscanf(某一字符串的地址, “取值条件”, 存储地址);
3.取值条件的种类:
(1)全取(只能取到第一个空格处):%s.(与%[^ ]等价,%[^ ]表示到第一个空格处)

#include<stdio.h>
int main()
{
	char a[100]={"hello world"};
	sscanf(a,"%s",a);
    printf("%s\n",a);
    return 0;
}
#include<stdio.h>
int main()
{
	char a[100]={"hello world"};
	sscanf(a,"%[^ ]",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述
(2)取指定长度的字符串(也只能到第一个空格处):%ns(表示第几个)

#include<stdio.h>
int main()
{
	char a[100]={"hello world"};
	sscanf(a,"%3s",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述
(3)取到指定字符之前一个字符的字符串:%[^ 特定字符]

#include<stdio.h>
int main()
{
	char a[100]={"hello world"};
	sscanf(a,"%[^ l]",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述
(4)取到指定字符集前一个(或一类)的字符串:%[首字符-指定字符]或%[^A-Z](这指一类,从A-Z这些大写字母)。

#include<stdio.h>
int main()
{
	char a[100]={"123456abcdedfBCDEF"};
	sscanf(a,"%[1-b]",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述

#include<stdio.h>
int main()
{
	char a[100]={"123456abcdedfBCDEF"};
	sscanf(a,"%[^A-Z]",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述
(5)获取两特定符号字符之间的字符串:%*[特定符号]/%[特定符号](注意:是特定符号,而不是数字或字母)

#include<stdio.h>
int main()
{
	char a[100]={"34fe/hello world/sfsd"};
	sscanf(a,"%*[^/]/%[^/]",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述
(6)读取空格后的内容:%*s%s。
*表示过滤掉一个字符串

#include<stdio.h>
int main()
{
	char a[100]={"hello world"};
	sscanf(a,"%*s%s",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述

#include<stdio.h>
int main()
{
	char a[100]={"hello world 2021"};
	sscanf(a,"%*s%*s%s",a);
    printf("%s\n",a);
    return 0;
}

在这里插入图片描述

以上介绍的只是一些较为简单实用的功能

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值