我已经尝试了大约一个小时,并在网上查看了其他地方,但仍然无法完成我正在尝试做的事情。这应该很简单,但我已经有一段时间没有用 C 编写代码了,所以我可能会遗漏一些东西。无论如何,我想使用 strcmp 来比较一个名为 char *args 的变量和一个像“qw”这样的文字。
我在 main 中并传递一个函数这个 args 变量,当我取回它时我想这样比较:也许我只是完全以一种愚蠢的方式来做这件事。
char *args;
char **svdArray;
int keepTrack = 0;
int beforeTrack = 0;
svdArray = malloc(5*sizeof(char*));
while (1)
{
if(!(strcmp(args[0], "r")) && (!strcmp(args[0], "rr")))
{
svdArray[keepTrack] = args[0];
keepTrack++;
}
我想要发生的是,如果我的 args[0] 除了 rr 或 r 之外还有其他内容,我想在 if 语句中执行代码。然而,到目前为止,流量从未进入它,我不知道为什么。
任何帮助将不胜感激!!!
最佳答案
strcmp()
比较两个字符串。
要仅测试零件,请使用 strstr()
,例如:
if (strstr(args, "r")) || strstr(args, "rr")))
{
svdArray[keepTrack] = args;
keepTrack++;
}
关于c - 使用 strcmp 比较字符指针和文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350338/