我写了一个程序来通过XOR加密给定的消息。它有效,但它没有结束。这是代码。(我创建了3个文件):
encrypt.h:
void encrypt(char *message);
message_hider.c:
#include <stdio.h>
#include "encrypt.h"
int main() {
char msg[80];
while (fgets(msg, 80, stdin)){
encrypt(msg);
printf("%s", msg);
}
return 0;
}
encrypt.c:
#include "encrypt.h"
void encrypt(char *message) {
while (*message) {
*message++ ^= 0x1f;
}
}
正如我上面提到的,它有效。但我无法阻止它。当我按下Ctrl + D来停止它(在cmd中)它也加密它。(我需要在加密消息后停止此代码)。请解释一下这个案子。
答案 0 :(得分:5)
按Ctrl + D停止它(在cmd中)
如果那是来自Windows的cmd
,您可能需要Ctrl+Z
。
答案 1 :(得分:4)
Ctrl-D 用于Unix系统上的控制台EOF。
Ctrl-Z 用于Windows系统上的控制台EOF。
答案 2 :(得分:1)
答案 3 :(得分:0)
跑步
$> kill -l
查看Linux中的信号列表。你不会在那里找到SIGKILL(Ctrl + D)信号:(
Ctrl + D是Linux中的SIGKILL(0)信号,未在任何地方记录。 Ctrl + Z适用于Windows,它告诉EOF,我们需要按“Enter”关闭。