我必须使用sscanf或scanf。
if (sscanf(argv[x],"%d", &numb) == 1) {
do smt
};
参数为10xyz之类的情况就是我的问题。在这种情况下,我总是收到EOF,程序立即停止。但是我不希望该程序停止运行。
xyz10或10xyz或10x10当然不应该是一个数字,但是我不希望我的程序因为这个参数而停止。那么,如何检查参数是否为带有sscanf且没有EOF的数字,而参数则可以是任何字符的任意组合?
答案 0 :(得分:2)
这样做可以循环遍历参数,并限定每个参数是否为整数。
delete t
from t join
(select id, link, name, min(date) as mindate
from t
group by id, link, name
) tt
using (id, link, name)
where date > mindate;
这样的输入-> 10 20 10dje 60
产生这样的输出->
得到一个整数-> 60
乱码
得到一个整数-> 20
得到一个整数-> 10