我是C的新手,我在理解此scanf()
行时有一个小问题:
printf("Enter a message to add to message queue : ");
scanf("%[^n]",sbuf.mtext);
如果我从命令行获得值,该如何编写此语句?我认为我必须将该变量声明为字符串?
如果您从命令行获得任何值或数据,则命令行参数(单击"打开链接)非常有用
对于使用命令行参数,您必须从中更改main()
函数定义,例如,int main()
为
int main ( int argc, char *argv[] )
此处 int argc
是参数计数器。它是一个整数,存储从命令行( 程序的名称)
和 char* argv[]
是参数vector ,它将您发送到主函数的数据以字符串
如果我从 命令行?
由于您在命令行中输入的任何值都存储在char *argv[]
中,因此您可以以此方式访问适当的字符串
printf("%s",argv[command_no])
示例:(打印argc
的值和存储在*argv[]
中的所有字符串)
#include <stdio.h>
int main(int argc, char* argv[])
{
printf("%dn",argc);
for(int i=0;i<argc;i++)
{
printf("%sn",argv[i]);
}
return 0;
}
命令行参数:
these are command line arguments :)
输出:
6
E:C-ProgrammingWorkspaceInterviewDebugInterview.exe
these
are
command
line
arguments
:)
注意:第一个参数或
argv[0]
始终是程序的名称