Linux 中 C 语言中 system("pause") 的等效项是什么。不是 C++。
我想将它用于我的 c 程序。有一个注销功能。但在它返回主登录功能之前,我想向用户发送一条消息,告知他已成功注销。
我的功能是
void logout() {
printf("You are successfully logged out\n");
system("pause");
login();
}
答案1
您可以使用getchar
来实现:
#include <stdio.h>
void logout() {
printf("You are successfully logged out\n");
int c = getchar();
login();
}
答案2
如果您不希望用户被要求按 ENTER 键,唯一的选择就是使用以下头文件:
#include <stdio.h>
#include <stdlib.h>
#include <termios.h>
#include <unistd.h>
那么代码将是:
struct termios oldt, newt;
char c;
// Save the current terminal attributes
tcgetattr(STDIN_FILENO, &oldt);
// Put the terminal into raw mode
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
// Read a single character from the terminal
c = getchar();
printf("You typed: %c\n", c);
// Restore the original terminal attributes
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);