Помощь в сравнении строки 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"); } } 

Как проверить, соответствует ли argv "ex1" в C? Есть ли для этого функция? Спасибо

 #include  if(!strcmp(argv[1], "ex1")) { ... } 

Просто дать и пример использования строк и динамического выделения новых строк. Вероятно, полезно, когда вы не знаете размер argv [?]

 // Make the string with the value you want compared char testString[] = "-command"; // Make a char pointer, use new to allocate the memory // the size is determined by string length of argv[1] char * strToTest = new char[ strlen( argv[1] ) ]; // Now we can copy the contents of argv[1] into strToTest as they are equal size strcpy( strToTest, argv[1] ); // Now strcmp returns True if the two strings match if (strcmp( testString, strToTest ) { //do somthing here ... } 

Обратите внимание, что если вы хотите использовать strToTest для чего-то еще, вы должны использовать «delete», чтобы убедиться, что пространство памяти не выделено. Это хорошая практика, чтобы избежать утечек памяти.