我正在使用putty运行一个C程序(不要问为什么)它工作正常,除非我运行一个特定的函数,字符串“PuTTy”出现在最后。这似乎没有任何影响,但我只是好奇,如果有人知道为什么会发生这种情况,以及这可能表明会出现什么样的错误。
注意:当我在Linux终端中运行代码时,没有任何错误。
答案 0 :(得分:14)
这是由您的程序发出Control-E字符导致的PuTTY问题。来自PuTTY FAQ:
A.7.12当我捕获二进制文件时,我的命令得到'PuTTYPuTTYPuTTY' 线。强>
不要那样做。
这是设计行为;当PuTTY收到角色时 来自远程服务器的Control-E,它将其解释为请求 标识自己,因此它会发回字符串'PuTTY',就像那样 字符串已输入键盘。只应发送Control-E 通过准备处理响应的程序。写一个 二进制文件到您的终端可能输出许多Control-E 字符,并导致此行为。不要这样做。这是一个糟糕的计划。
要减轻影响,您可以将应答字符串配置为 是空的(见section 4.3.7);但写二进制文件到你的 终端很可能会引起各种其他不愉快的行为,所以 这只是一个小补救措施。
您的功能是否输出二进制字符,例如Control-E?