【发布时间】:2011-12-13 03:39:50
【问题描述】:
如果我通过std::cin 分配变量,我有一个奇怪的问题,它与直接变量分配不同。 Example I 字符串与 Example II 字符串不同。
我使用异或解密函数来解密密文。
如果变量是通过std::cin 分配的,我会得到正确的输出(Example1)。但是如果我直接用密文字符串分配变量,我会得到不同的输出(Example2)。
std::cin 赋值和直接变量赋值有什么不同?
示例一:(std::cin)
std::string my_input;
std::cin >> my_input;
输入: 89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550 输出: http://www.test.de/|was|geht|½½½½½½½½¯
示例二:(直接变量赋值)
std::string my_input;
my_input = "89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550";
输出:测试■½½www.test═¯¯óµ"$&┌©½░½)¯■
如果我只得到一行,则输出与直接变量分配相同。但为什么呢?
std::string my_input;
std::getline(std::cin, my_input);
输入: 89001c110704918484dcdcdc85df9b9d8a2310005c08dccad8d7cccec3df824555a6dfced8df0045550 输出:测试■½½www.test═¯¯óµ"$&┌©½░½)¯■
【问题讨论】:
-
你能更详细地解释你的问题是什么吗?我们很乐意提供帮助,但目前尚不清楚您希望我们为您提供什么帮助。
-
你如何确定输出不一样?向我们展示这两种情况下的输出。