C:\Users\Alex\Documents\cpp\Lessons\alphacrypt>acp.exe "δασκάλα"
.git LICENSE
int main(int argc, wchar_t* argv[])
{
for (int i = 1; i < argc; i++) {
printf("%s ", argv[i]);
}
return;
}
C:\Users\Alex\Documents\cpp\Lessons\alphacrypt>acp.exe "test"
test
C:\Users\Alex\Documents\cpp\Lessons\alphacrypt>acp.exe "Привет"
╧ЁштхЄ
то твой код интерпретирует строку char как строку wchar_t, что добавляет хаоса
wcstombs не занимается выделением памяти,
Там же написано, что набор символов во время выполнения программы -- implementation defined, поэтому нет гарантии, что их можно обработать кросплатформенно.
Т.е. исходные данные в любом формате можно зашифровать, а потом расшифровать обратно. Поэтому имеет смысл отделить преобразование форматов входных данных от шифрования/расшифровки.
то твой код интерпретирует строку char как строку wchar_t, что добавляет хаоса
C:\Users\Alex\Documents\cpp\alphacrypt>acp.exe -i """Hello world!""" -k mysecretpass
s3Q3f5crD7zwY#25484#5