C语言:关于scanf函数,无空格输入,格式化输入

博客讲述了在编程中遇到的挑战,即如何从预置文件中读取以特定格式('参数名称'='参数值')设定的参数。作者提出解决方案是利用scanf函数,通过在格式控制串中包含预期的参数名称,从而准确地读取到每个参数后的数值。这种方法避免了空格带来的困扰,有效地提取了所需的数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

今天在实现一个程序能通过预置文件来设置参数时遇到了一些小问题。

问题:

预置文件要求格式:

“参数名称”=“参数值”

等号前后不能有空格,没有空格怎么判断输入从哪里开始呢?

解决:

举个例子:

假如输入这样一串输入

Airspeed_Indicator_Abscissa=450
Airspeed_Indicator_Ordinate=350
Airspeed_Indicator_Size=100
Airspeed_Indicator_Angle=0

而我们需要的只是每一行最后的数字,怎么只读取后面的有效数字呢?

scanf() 实际上提供了个便利为我们解决这样的难题。

"scanf()的格式控制串可以使用其它非空白字符"

这句话什么意思呢?

意思是,不仅输入可以通过空格来区分不同输入之间的间隔,还能通过自己输入的内容来分割

所以我的解决方法是:

scanf("Airspeed_Indicator_Abscissa=%lf\
        Airspeed_Indicator_Ordinate=%lf\
		Airspeed_Indicator_Size=%lf\
		Airspeed_Indicator_Angle=%lf"
    , &Airspeed_Indicator_Abscissa
	, &Airspeed_Indicator_Ordinate
	, &Airspeed_Indicator_Size
	, &Airspeed_Indicator_Angle);

在scanf格式化时加上内容里的限制,就能实现不读入这些内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值