帮助比较argv字符串

Uca*_*oIt 2 c argv

我有:

int main(int argc, char **argv) {
   if (argc != 2) {
      printf("Mode of Use: ./copy ex1\n");
      return -1;
   }

   formatDisk(argv);
}

void formatDisk(char **argv) {
   if (argv[1].equals("ex1")) {
       printf("I will format now \n");
   }
}
Run Code Online (Sandbox Code Playgroud)

如何检查C中argv是否等于"ex1"?是否已有功能?谢谢

Dav*_*ave 18

#include <string.h>
if(!strcmp(argv[1], "ex1")) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

  • argc给出了argv中的参数计数,因此检查(如果argc!= 2)确保argv [1]存在. (2认同)
  • 另外值得注意的是 strncmp() 函数,它比较字符串的前“n”个字节。(http://www.manpagez.com/man/3/strncmp/) (2认同)