почему msys2 меняет аргументы? - PullRequest
0 голосов
/ 15 сентября 2018

Простой C-файл, print_args.c:

#include <stdio.h>
int main(int argc, char **argv) {
char* pattern;
for (int i=0; i<argc; i++) {
    pattern = (char*)argv[i];
    printf("\n:: argv[%d]: %s", i, pattern);
    }    
}

в MS cmd, работает как положено.

Но на msys2:

./print_args  '</a' '^</b' '</c>' '</d' '</div>' '^</em>' ' </d'

ивывод:

:: argv[0]: I:\tmp_work\c\print_args.exe
:: argv[1]: <A:/
:: argv[2]: ^<B:/
:: argv[3]: <E:/msys32/c>
:: argv[4]: <D:/
:: argv[5]: <E:/msys32/div>
:: argv[6]: ^<E:/msys32/em>
:: argv[7]:  </d

E: / msys32 - это то, где находится мой msys2.

Что здесь происходит?

...