我是C的新手,我在理解这个scanf()
行时遇到了一个小问题:
printf("Enter a message to add to message queue : ");
scanf("%[^\n]",sbuf.mtext);
如果从命令行获取值,如何编写此语句? 我想我必须将变量声明为字符串?
答案 0 :(得分:0)
如果您从命令行获取任何值或数据,则command line arguments (点击打开链接)非常有用
要使用命令行参数,您必须更改main()
函数定义,让我们说int main()
到
int main ( int argc, char *argv[] )
此处int argc
是 参数计数器 。它是一个整数,存储从命令行传递的参数数量(+程序名称)
和char* argv[]
是 参数向量 ,用于保存您作为字符串发送到main函数的数据
如果我从中获取值,如何编写此语句 命令行?
由于您在命令行输入的任何值都存储在char *argv[]
中,因此您可以通过这种方式访问相应的字符串
printf("%s",argv[command_no])
示例: (打印出argc
的值以及*argv[]
中存储的所有字符串)
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("%d\n",argc);
for(int i=0;i<argc;i++)
{
printf("%s\n",argv[i]);
}
return 0;
}
命令行参数:
these are command line arguments :)
<强>输出:强>
6
E:\C-Programming\Workspace\Interview\Debug\Interview.exe
these
are
command
line
arguments
:)
注意:第一个参数或
argv[0]
始终是程序的名称