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

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

问题:

预置文件要求格式:

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

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

解决:

举个例子:

假如输入这样一串输入

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格式化时加上内容里的限制,就能实现不读入这些内容。


版权声明:本文为qq_62792553原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。