具有特定格式的Scanf

时间:2016-11-13 10:39:43

标签: c scanf

我想允许用户只输入特定格式的输入。
格式:
例如a=1,b=-2,c=3。逗号和字符之间允许有空格。
我正在使用:if (scanf("a=%lf,b=%lf,c=%lf",&a,&b,&c) == 1)但由于某种原因它不起作用。我该如何解决?

2 个答案:

答案 0 :(得分:1)

来自scanf的文档

返回值

如果成功,则返回写入的字符总数,否则返回负数。

尝试

if (scanf("a=%lf , b=%lf , c=%lf",&a,&b,&c)==3)

您必须在字符串中包含空格,并将scanf作为参数,指定格式。

答案 1 :(得分:1)

您正在转换3个数字,如果所有转换都成功,则返回值应为3。另请注意,setInterval()在数字之前忽略空格。如果您还想忽略modelServices :function() { var oModeldata = new sap.ui.model.json.JSONModel(); this.getView().setModel(oModeldata, "datalake"); this.intervalHandle = setInterval(function() { //No need to create and assign a new model each time. Just load the data. oModeldata. loadData("https://my-example.com/status/"); }, 10000); //Call setInterval only once }, onExit:function() { // You should stop the interval on exit. // You should also stop the interval if you navigate out of your view and start it again when you navigate back. if (this.intervalHandle) clearInterval(this.intervalHandle) ; } 周围和%lf,之前的空格,请在格式字符串中添加空格:

=

但请注意,a不会忽略空格字符,它会忽略空白字符,包括换行符,制表符等。