Thay Thế Hàm Getch() Trong C++ - Code 24h

  • Bài viết
  • Hỏi đáp
Tạo bài viết Đăng ký Đăng nhập Code24h.com 30/09/2018, 16:51 Thay thế hàm getch() trong C++

Trong C++ thì dùng hàm gì để thay thế hoàn toàn getch() trong C chuẩn ?

  1. getchar() : sau khi nhập ký tự từ bàn phím phải nhấn Enter -> không nhận được các key như ESC,… (getchar() là hàm của C)
  2. cin.get() : tương tự getchar();
  3. GetAsyncKeyState(VK_ESCAPE) -> trừ phi luôn giữ phím đó không thì bị trôi sang dòng lệnh tiếp theo 4.kbhit() tương tự (3) (hàm trong C)

Mục đích : nhận các phím đặc biệt như ESC, Home, End,…

... viết 19:01 ngày 30/09/2018 system("pause"); nhatlonggunz viết 19:02 ngày 30/09/2018

Ông này bảo tránh dùng system(“pause”) http://www.gidnetwork.com/b-61.html Đắng lòng là ông này khuyên dùng getchar()

Evil viết 18:53 ngày 30/09/2018

system(“pause”);

mình chỉ muốn dùng nó nhận phím thôi không phải dùng để dừng màn hình console Có cách nào không nhỉ ?

Minh Hoàng viết 19:04 ngày 30/09/2018

Dùng cmd chạy là ok nhất

Nguyễn Minh Dũng viết 19:03 ngày 30/09/2018

@snt2523 nghiên cứu kỹ nhỉ? Sao không sử dụng getch luôn? Có vẻ như bạn đang viết app trên windows mà?

Lý do mà getch đọc ký tự mà không cần enter vì nó không sử dụng buffer.

Evil viết 19:04 ngày 30/09/2018

Tại e thấy getch() nằm trong conio.h trong C. Sử dụng trong C++ thấy sao sao

Nguyễn Minh Dũng viết 19:00 ngày 30/09/2018

Em bỏ conio.h ra vẫn dùng được getch mà. Anh nhớ không lầm nó thuộc về stdio.h. Nhưng hàm này chỉ hỗ trợ trên Windows thôi.

Văn Qúy viết 18:57 ngày 30/09/2018

Cho e hỏi nếu muốn dừng màn hình console trong C++ mà không cần dùng lệnh system (“pause”) thì làm sao ạ.

Pham Van Hai viết 19:04 ngày 30/09/2018

Mình nghĩ nếu đã là ứng dụng console thì nên chạy ở terminal hoặc cmd (sẽ không cần lệnh dừng màn hình). Lệnh dừng màn hình chỉ là một thủ thuật thôi, vì ứng dụng thực thế người ta không dùng. Sau khi bạn dùng IDE để code và build thì bạn mở cmd (Window) hoặc terminal (Linux) để chạy chương trình. Còn nếu muốn debug thì đã có breakpoint để dừng chương trình rồi.

Nguyễn Minh Dũng viết 19:02 ngày 30/09/2018

Có thể dùng lệnh scanf hoặc getch, lệnh nào có yêu cầu chờ input từ bàn phím là được.

Văn Qúy viết 19:06 ngày 30/09/2018

Dạ e đang lập trình trên Visual ạ… sao e học trên trường thì không cần lệnh gì nó vẫn tự dừng màn hình được mà về nhà làm trên máy thì nó không thể nào dừng được trừ khi phải dùng lệnh system(“pause”).

Nguyễn Minh Dũng viết 19:04 ngày 30/09/2018

Vì Visual nó không dừng màn hình lại, cái này là tùy thuộc vào cách chạy chương trình của Visual, không liên quan đến code.

Visual chạy xong là nó tắt luôn cái cmd nên mình mới phải dùng thủ thuật để ngăn Visual tắt nó đi.

Hải viết 18:54 ngày 30/09/2018

Anh @ltd cho em hỏi trên linux dùng lệnh gì để đọc kí ký tự mà không cần enter như getch() trên windows?

Nguyễn Văn Dũng viết 18:52 ngày 30/09/2018

Bạn dùng hàm std::cin.get() xem sao. Mình thử mấy phím home, esc đều được cả.

Hải viết 19:00 ngày 30/09/2018

Mình muốn dùng trên C nữa

Nguyễn Văn Dũng viết 18:51 ngày 30/09/2018

getchar thì dùng được cả trên c, c++ đấy. bạn thử xem sao.

Hải viết 19:06 ngày 30/09/2018

getchar() phải enter mà bạn

Lê Tuấn Anh viết 19:06 ngày 30/09/2018

Em kiếm cái này trên mạng Sử dụng #include “conio.h” Em dùng tốt trên Ubuntu 14.04 @KuroNeko

#include <termios.h> #include <unistd.h> #include <stdio.h> /* reads from keypress, doesn't echo */ int getch(void) { struct termios oldattr, newattr; int ch; tcgetattr( STDIN_FILENO, &oldattr ); newattr = oldattr; newattr.c_lflag &= ~( ICANON | ECHO ); tcsetattr( STDIN_FILENO, TCSANOW, &newattr ); ch = getchar(); tcsetattr( STDIN_FILENO, TCSANOW, &oldattr ); return ch; } /* reads from keypress, echoes */ int getche(void) { struct termios oldattr, newattr; int ch; tcgetattr( STDIN_FILENO, &oldattr ); newattr = oldattr; newattr.c_lflag &= ~( ICANON ); tcsetattr( STDIN_FILENO, TCSANOW, &newattr ); ch = getchar(); tcsetattr( STDIN_FILENO, TCSANOW, &oldattr ); return ch; } Hải viết 18:58 ngày 30/09/2018

Chạy tốt Thanks bạn nhá. Mà không có lệnh nào thay thế nhỉ?

Phạm Tấn Hùng viết 18:54 ngày 30/09/2018

có cách gì để cài đặt ngay trên visual ko ạ. Em hay viết code thi online mà quên xóa getch() là nó báo chạy sai liên

Bình luận về bài viết này Chia sẻ tin đăng đến bạn bè Gửi Messenger Copy link Bài liên quan

Evil

0 chủ đề

0 bài viết

Tác giả nổi bật
  • Son Dong
  • Hoa Nguyen
  • Pham Dat
  • Nguyễn Dũng
  • Đào Đăng Sơn
Từ khóa nổi bật AngularJS Blog Bootstrap C / C++ Cấu trúc dữ liệu & Giải thuật Cơ sở dữ liệu Codeigniter Công cụ lập trình CSS CSS cơ bản CSS3 Học Excel HTML HTML cơ bản HTML5 Java Javascript jQuery Json Lập trình mobile Laravel Linux MongoDB MySQL NodeJS Oracle Pascal PHP PHP cơ bản PHP nâng cao Python React Native ReactJS Ruby SEO SQL Server Swift Visual Basic VueJS WordPress XML Chủ đề nổi bật
  • 1 Cài đặt phần mềm cần thiết cho học lập trình web
  • 2 Tự Học HTML Cơ Bản Online Miễn Phí Từ A đến Z
  • 3 Seo website dành cho dân IT
  • 4 REACT NATIVE
  • 5 sdfdsf
  • 6 Lập trình di động với React Native
  • 7 Vue.js
  • 8 Kiếm thức cơ bản HTML CSS
  • 9 So sánh count() và sizeof() 2 phần tử đếm mảng
  • 10 Toán tử và biểu thức của php
0 Các chủ đề đang được quan tâm phần mềm lập trình php | lập trình web php + mysql | khóa học lập trình php | tự học lập trình php | học php cơ bản thachpham | Giá rẻ thùng rác nhựa 120l 240l- tư vấn báo giá thùng rác rẻ nhất miền tây-lh 0911082000 | Giảm giá thùng rác cuối năm, thùng rác nhựa 120 240 660 giá rẻ cạnh tranh- lh 0911082000 | The Fun of Using Full Size Sex Dolls | Code24h | Cho thuê phòng trọ hà nội | Cho thuê phòng trọ bình thạnh | Cho thuê phòng trọ | Cho thuê nhà trọ Đăng ký

Đăng ký nhận thông báo

Các bài học thú vị sẽ được gửi đến inbox của bạn

HỖ TRỢ HỌC VIÊN
  • Các câu hỏi thường gặp
  • Điều khoản sử dụng
  • Chính sách và quy định
  • Chính sách bảo mật thanh toán
  • Hỗ trợ học viên: hotro@code24h.com
  • Báo lỗi bảo mật: security@code24h.com
VỀ CODE24H
  • Giới thiệu Code24h
  • Cơ hội nghề nghiệp
  • Liên hệ với chúng tôi
HỢP TÁC VÀ LIÊN KẾT
  • Đăng ký giảng viên
  • Giải pháp e-learning
  • Chương trình đại lý
  • Chương trình Affiliate
KẾT NỐI VỚI CHÚNG TÔI
TẢI ỨNG DỤNG TRÊN ĐIỆN THOẠI

CCode 24h, code mọi lúc, mọi nơi

© Copy right 2018 - 2024

Từ khóa » Câu Lệnh Getch Trong C++