Computer >> Máy Tính >  >> Lập trình >> C ++

Đọc một ký tự từ đầu vào chuẩn mà không cần đợi dòng mới trong C ++


Không tồn tại giải pháp di động để thực hiện việc này. Trên windows, bạn có thể sử dụng hàm getch () từ thư viện conio (Console I / O) để nhấn các ký tự.

ví dụ

#include<iostream>
#include<conio.h>
using namespace std;
int main() {
    char c;
    while(1){ // infinite loop
        c = getch();
        cout << c;
    }
}

Điều này sẽ xuất ra bất kỳ ký tự nào bạn nhập vào thiết bị đầu cuối. Lưu ý rằng điều này sẽ chỉ hoạt động trên windows vì thư viện conio chỉ tồn tại trên windows. Trên UNIX, bạn có thể đạt được điều này bằng cách vào chế độ thô của hệ thống.

ví dụ

#include<iostream>
#include<stdio.h>
int main() {
    char c;
   // Set the terminal to raw mode
    system("stty raw");
    while(1) {
        c = getchar();
        // terminate when "." is pressed
        if(c == '.') {
            system("stty cooked");
            exit(0);
        }  
        std::cout << c << " was pressed."<< std::endl;
    }
}