Я пытался проверить содержимое командной строки после изменения значений argv, обновленные значения не отображаются: [code]#include #include #include #include #include
int main(int argc, char*argv[]) { if (argc < 2) { printf("Usage: %s arg1 arg2 .. \n", argv[0]); return 1; } printf("PID:%d\n", getpid()); //Print the original arguments for (int i=0; i < argc; i++) { printf("argv[%d]:%s\n", i, argv[i]); }
getchar(); printf("Modifying arguments\n"); argv[0] = "Hello"; argv[1] = "123" ; for (int i=0; i < argc; i++) { printf("argv[%d]:%s\n", i, argv[i]); } getchar();
return 0; } [/code] Вывод такой же, как и до обновления аргументов. Это правильное поведение