簡體   English   中英

用C ++創建一個簡單的文本編輯器

[英]Creating a simple text editor in C++

我在CS162課上,本周的工作是創建一個非常非常簡單的文本編輯器,該文本編輯器提示用戶輸入一個段落,完成后鍵入#,然后程序將進行簡單的編輯,例如大寫任何開頭句子中的單詞並將常見錯誤(例如“ teh”更改為“ the”)。 現在,我總是很難開始這些事情。 我確切地知道我將如何糾正錯誤(程序會搜索拼寫錯誤並用正確的拼寫替換這些單詞/使用.upper更改為大寫),但是我無法簡單地開始讓用戶輸入一個段落並以#結尾。 我會使用允許用戶繼續鍵入直到輸入#的循環嗎? 那會是什么樣? 抱歉,這似乎太基本了; 因為我是一個非常初級的初學者,所以我總是很難入門程序。 謝謝。

使用CONIO.H

您可以使用以下功能:

getch()-從控制台讀取字符,不帶緩沖區或回顯

kbhit()確定是否按下了鍵盤鍵。

得到您想要的東西。

編輯:這是從用戶Falcom Momot,對於Linux系統:

#include <unistd.h>
#include <termios.h>
char getch() {
    char buf = 0;
    struct termios old = {0};
    if (tcgetattr(0, &old) < 0)
            perror("tcsetattr()");
    old.c_lflag &= ~ICANON;
    old.c_lflag &= ~ECHO;
    old.c_cc[VMIN] = 1;
    old.c_cc[VTIME] = 0;
    if (tcsetattr(0, TCSANOW, &old) < 0)
            perror("tcsetattr ICANON");
    if (read(0, &buf, 1) < 0)
            perror ("read()");
    old.c_lflag |= ICANON;
    old.c_lflag |= ECHO;
    if (tcsetattr(0, TCSADRAIN, &old) < 0)
            perror ("tcsetattr ~ICANON");
    return (buf);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM