У меня любопытная проблема, если я назначаю переменную через std::cin
, она отличается от прямого назначения переменной. Строка примера I отличается от строки примера II.
Я использую функцию расшифровки xor для расшифровки зашифрованного текста.
Если переменная назначена через std::cin
, я получаю правильный вывод (Пример1). Но если я назначу переменную непосредственно со строкой зашифрованного текста, я получу другой вывод (Пример 2).
Чем отличается присвоение с std::cin
от прямого присвоения переменной?
Пример I: (std :: cin)
std::string my_input;
std::cin >> my_input;
ВХОД: 89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550
ВЫХОД: http://www.test.de/|was|geht|½½½½½½½½¯
Пример II: (прямое присвоение переменной)
std::string my_input;
my_input = "89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550";
ВЫХОД: тест ■ ½½www.test =¯¯óµ "$ & ┌ © ½░½) ¯ ■
Если я получу только одну строку, вывод будет таким же, как прямое присвоение переменной. Но почему?
std::string my_input;
std::getline(std::cin, my_input);
INPUT: 89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550
ВЫХОД: тест ■ ½½www.test =¯¯óµ "$ & ┌ © ½░½) ¯ ■