Mam następujący kod, który kopiuje ciąg argumentów do tablicy char.Kopiowanie ciągu znaków z argv do tablicy char w C
char *str = malloc(strlen(argv[1]) + 1);
strcpy(str, argv[1]);
printf("%s\n", str);
Dlaczego kiedy mijam po argumencie:
$6$4MfvmFOaDUaa5bfr$cvtrefr
uzyskać:
MfvmFOaDUaa5bfr
Zamiast całego łańcucha. Gdzieś stracę pierwszy numer. Próbowałem różnych metod i każdy z nich działa tak samo lub też nie działa.
Mój klucz to tylko sól (w tym przypadku) 4MfvmFOaDUaa5bfr
lub $6$4MfvmFOaDUaa5bfr
bez trzeciej cyfry $. Próbuję też uzyskać metodę kopiowania ciągu, gdy spotykam trzecie $, a następnie przestaję kopiować.