linux下按下键退出while循环(类似于_kbhit)
#include <stdio.h>
#include <sys/select.h>
#include <termios.h>
#include <unistd.h>
#include <ctype.h>
#define STDIN 0
int main()
{
struct timeval tv = {0,0};
struct termios term , termbak;
char ch;
fd_set fd;
FD_ZERO(&fd);
FD_SET( STDIN ,&fd);
tcgetattr(STDIN, &term);
termbak = term;
term.c_lflag &= ~(ICANON|ECHO);
tcsetattr(STDIN, TCSANOW, &term);
while(1)
{
FD_ZERO(&fd);
FD_SET( STDIN ,&fd);
if( 1 == select( STDIN+1,&fd,NULL,NULL,&tv)
&& 1 == read( STDIN , &ch , 1 )
&& 'q' == tolower(ch) )
break;
putchar('.');fflush(stdout);
usleep(100000);
}
tcsetattr(STDIN,TCSANOW,&termbak);
return 0;
}
转载自:http://topic.csdn.net/u/20100115/10/7ec685ee-27ef-4b03-b184-ce0a1e728cde.html
相关文档:
在Linux系统中,几乎所有的硬件装置代号档案都在/dev这个目录中,
如
IDE硬盘:/dev/hd[a-d]
光驱:/dev/cdrom
软盘:/dev/fd[0-1]
鼠标:/dev/mouse
打印机:/dev/lp[0-2]
USB随身碟,SCSI硬盘:/dev/sd[a-p]
网卡:/dev/eth[0-n]
RAID : /dev/md[0-15]
主机硬盘的主要规划:
1. 最简单的切割方法: Li ......
uname -a
cat /proc/version
cat /etc/issue
lsb_release -a (适用于所有的linux,包括Redhat、SuSE、Debian等发行版,但是在debian下要安装lsb,不安装加上-a参数查看部分)
如:
发行版:
# cat /etc/issue
内核:
# uname -r
......
一.Linux进入与退出系统
进入Linux系统:
必须要输入用户的账号,在系统安装过程中可以创建以下两种帐号:
1.root–超级用户帐号(系统管理员),使用这个帐号可以在系统中做任何事情。
2.普通用户–这个帐号供普通用户使用,可以进行有限的操作。
一般的Linux使用者均为普通用户,而系统管理 ......
GNU glibc提供一个对printf的扩展,直接printf("%m"),可以输出标准的错误信息,例如下面:
#include <stdio.h>
#include <errno.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
#include <string.h>
int main()
{
......