Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Программирование под Unix/Linux > Подскажите аналог system("pause") для линукс


Автор: Wowa 25.8.2006, 00:11
Подскажите аналог команды system("pause") в C для линукс.

Автор: GrayCardinal 25.8.2006, 08:16
А чего "pause" делает ?  smile

Добавлено @ 08:22 
А, понял. Тут простой printf , вот это (чтоб не ждать ENTER'а)
Код

int Dterm_one_kick (int fd)
{
    struct termios ttystate;
    tcgetattr (fd, &ttystate);
    ttystate.c_lflag &= -ICANON;
    ttystate.c_cc[VMIN] = 1;
    return tcsetattr (fd, TCSANOW, &ttystate);
}

и fgetc для чтения одного символа (или read(2) одиночный...

Автор: powerfox 29.8.2006, 22:57
Цитата(Wowa @  25.8.2006,  01:11 Найти цитируемый пост)
Подскажите аналог команды system("pause") в C для линукс.

А что надо от системы?

Автор: Wowa 29.8.2006, 23:06
Цитата(powerfox @  29.8.2006,  21:57 Найти цитируемый пост)
А что надо от системы? 

в консоли "Press any key to continue"

Автор: powerfox 29.8.2006, 23:28
Аналога не знаю, но можно сделать так:
Код

#include<iostream>
#include<stdlib.h>
using namespace std;
int main(){
cout<< "Wait for input, Press anykey to continue\n";
char b = 0;
int i = 1;
while(i){ 
cin>>b;
if(b!=0) i=0;
}
cout << "Youre've pressed magic AnyKey";
return 0;
}

Это на С++. Для С нужно использовать вместо cin getchar().

Добавлено @ 23:31 
Вот код на С:
Код

#include<stdio.h>
#include<stdlib.h>
int main(){
printf("Waiting for Anykey");
char b = 0;
int i = 1;
while(i){ 
b=getchar();
if(b!=0){i=0;}
}
printf("Anykey====[done]");
return 0;
}

Автор: Wowa 29.8.2006, 23:40
хотелось именно системной командой..

Автор: GrayCardinal 31.8.2006, 21:05
system ("read -p \"Press any key to continue ...\" -n 1");

Автор: feexink 13.11.2022, 16:13
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)