[英]Accepting Input from Command Line in C
如何使用scanf()
IN C从命令行接受多个输入? 我试图在同一行上获取一个名称,然后从用户那里获取任意数量的值。 我知道scanf()
函数是用空格/换行符分隔的。
例如,用户输入:dog 2 5 1
我知道scanf()
会读取“ dog”,但是如何获取它来读取以下值。 我不能使用scanf("%s, %d, %d, %d", a, b, c, d)
因为可能输入的值大于或小于3。
您可以将参数传递给main函数本身。 主要的原型是
int main(int argc, char* argv[]);
您可以使用它来读取命令行参数。 argc给出参数的总数(以空格分隔),而argv是保存它的向量。
例如,用户将输入: ./yourExecutable dog 2 5 1
在这种情况下,参数数量将为5(包括可执行文件的名称),而argv[0]
将成为您的可执行文件,argv [1]将成为您的"dog"
等等。
您可以使用fgets()
将整行读取到字符串缓冲区。
然后使用strtok()
按空格分隔。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.