C - stdin到变量

时间:2014-11-19 16:27:17

标签: c variables get line stdin

我想创建程序,它可以从标准输入读取行并将每行解释为由空格分隔的两个整数。稍后我将使用共享库来处理这些数字。在开始之前,我想知道,从行中解析数字的最佳方法是什么。像“getline”的组合和存储数字到变量的东西?我只存储数字,直到给出下一个数字。

1 个答案:

答案 0 :(得分:0)

如果要从字符串中提取整数,请使用

sscanf(arr,"%d %d",&num1,&num2);

其中arr是包含要从中提取两个整数的数据的char数组,而num1num2是两个int变量。

否则您可以使用

直接扫描两个int
scanf("%d %d",&num1,&num2);

最好检查scanf(或sscanf)是否成功。如果成功,这两个都将返回2(在您的情况下)。所以只需使用以下内容检查:

if(scanf("%d %d",&num1,&num2)==2)
//successful
else
//failed

或者如果您使用sscanf

if(sscanf(arr,"%d %d",&num1,&num2)==2)
//successful
else
//failed