如何解决如何确定使用C语言在终端中输入的参数的值
我想写一个程序,根据提供的参数执行不同的功能。
例如:
$ ./program -a //line 1
$ ./program -b //line 2
如果我在终端输入1行,我希望它打印“ Hi” 如果我在终端输入2行,我希望它打印“再见”
这是我当前的逻辑,在C语言中不起作用:
int main (int argc,char *argv[])
{
if (argv[1] == "-a"){
printf("Hi");
} else if (argv[1] == "-b")
{
printf("Bye");
}
有人可以帮助我修复我的代码以实现我的目标吗?
谢谢!
解决方法
您应该使用strcmp()
来比较C语言中的字符串。
#include <stdio.h>
#include <string.h> /* for strcmp() */
int main (int argc,char *argv[])
{
if (strcmp(argv[1],"-a") == 0){
printf("Hi");
} else if (strcmp(argv[1],"-b") == 0)
{
printf("Bye");
}
return 0;
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。