我使用Cygwin編譯從書中深入淺出C.在我的Win 7的筆記本電腦的C程序,當我輸入的文本,該方案應該的過程中,本書說用Ctrl-d結束字符串列表。那麼,沒有任何反應。如果我按Ctrl-c,Cygwin會關閉。我聽說用Ctrl-Z代替,但會打印「停止」。cygwin的Win7上,CTRL-d沒有影響
我嘗試添加一行替換\ n與\ 0,因爲這是這個問題的答案是在勘誤表有問題。
如何顯示輸入文本的程序?我看到很多關於Ctrl-C的問題,或者他們詢問Ctrl-D是否想結束程序。我想保持程序運行並結束輸入。
Cygwin的mintty 1.2-β1
這裏的3個文件;這個練習是關於製作你自己的頭文件的。
message_hider.c
#include <stdio.h>
#include <string.h>
#include "encrypt.h"
int main() {
char msg[80];
while(fgets(msg, 80, stdin)) {
if(msg[strlen(msg)-1] == '\n')
msg[strlen(msg)-1] = '\0';
encrypt(msg);
printf("%s", msg);
}
}
encrypt.c
#include "encrypt.h"
void encrypt(char * message) {
char c;
while (*message) {
*message = *message^31;
message++;
}
}
encrypt.h
void encrypt(char * message);
Ctrl-Z應該是正確的。 – chris
你是否自己在一行上輸入ctrl-d? – UncleO
Ctrl-Z停止程序。這不是我想要做的。我自己在一行上輸入ctrl-d。 – punstress