我正在使用 putty 运行一个 C 程序(不要问为什么),它工作正常,除了当我运行特定函数时,字符串“PuTTy”出现在末尾。这似乎并没有太大影响,但我只是好奇是否有人知道为什么会发生这种情况以及这可能表明什么样的错误。
注意:当我在 Linux 终端中运行代码时,没有任何错误。
这是由于您的程序发出 Control-E 字符而导致的 PuTTY 问题。从腻子常见问题解答:
A.7.12 当我 cat 一个二进制文件时,我在命令行上得到“PuTTYPuTTYPuTTY”。
那就不要那样做。
这是设计的行为;当 PuTTY 从远程服务器接收到字符 Control-E 时,它会将其解释为标识自身的请求,因此它会发送回字符串“PuTTY”,就好像该字符串已在键盘上输入一样。Control-E 只能由准备处理响应的程序发送。将二进制文件写入终端可能会输出许多 Control-E 字符,并导致此行为。不要这样做。这是一个糟糕的计划。
为了减轻影响,您可以将应答字符串配置为空(参见第 4.3.7 节);但是将二进制文件写入您的终端可能会导致各种其他不愉快的行为,因此这只是一个小补救措施。
您的函数是否输出二进制字符,例如 Control-E?