Как использовать алгоритм шифрования / дешифрования Caesar Cypher для символа UTF-8 в C ++? - PullRequest
0 голосов
/ 21 января 2019

У меня есть небольшое программное обеспечение, которое я разработал в C ++ Builder, и я хочу использовать алгоритм шифрования / дешифрования Caesar Cypher для шифрования всех данных в текстовом файле, проблема заключается в том, что при вводе базы данных на UTF-8, как арабский символнекоторые из участников болтовни ставят знак вопроса, например ?, когда я дешифрую данные.следующий код просто работает с английскими символами, так как это исправить?

#include<iostream>
using namespace std;
int main () {
    int i, x;
    char str[100];

    cout << "Please enter a string: ";
    cin >> str;
    cout << "Please enter (1) for Encrypt and (2) for Decrypt\n";
    cin >> x;

    switch(x){
    case 1:
        for (i = 0 ; (i < 100 && str[i] != '\0') ; i++)
            str[i] = str[i] + 2;
            cout << str;
        break;
    case 2:
        for (i = 0 ; (i < 100 && str[i] != '\0') ; i++)
            str[i] = str[i] - 2;
            cout << str;
        break;
    default:
        cout << "Invalid input!" << endl;
    }
return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...