Why does an if stament that checks to see if argc is less than 4 get entered in my program?? I passed exactly 4 arguments. The three arguments after the program name all are surrounded with quotes. argv[0] is the program name, argv[1] is the input file path, argv[2] is a list of search strings, and argv[3] is a list of replace strings.

Here is the if statement that is being entered:

Code:
if (argc < 4) {
   cerr<< "Error! You must pass the path to the file which contains\n"
              "stuff you want to replace as the first argument to the program,\n"
              "after the program name, and also pass two other arguments: the\n"
              "list of search strings, and the list of replace strings, in that\n"
              "order.\n\nPress Enter to access Help and quit.\n\n";
   cin.get();
   help();
   return 1;
}
And here is the arguments I pass to the program:

Code:
ReplaceStrsInLines "/home/USERNAME/Documents/C_html4_elements.h" "[string;desc]" "[C_html_element;element]"