Chinaunix首页 | 论坛 | 博客
  • 博客访问: 741990
  • 博文数量: 124
  • 博客积分: 3156
  • 博客等级: 中校
  • 技术积分: 1584
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-02 10:29
文章分类

全部博文(124)

文章存档

2012年(3)

2011年(2)

2010年(61)

2009年(34)

2008年(24)

我的朋友

分类: LINUX

2009-09-11 10:12:19

#include
#include

int mygetch(void)
{
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}
//此getch不回显,只要有按键按下马上返回按键的ACSII码。没按键按下则等待。

scanf():不会读取键盘缓冲区的空格、制表符,换行符和退格符。也就是说scanf()碰到这个字符就会返回。
gets() :读取键盘缓冲区一字符串,以0x0A结尾。
getchar:读取键盘缓冲区一个字符,只要键盘缓冲区有,包括空格、制表符,换行符和退格符.
///////////////////////////////////测试代码////////////////////////////////////////////
/*CharTest.c*/
#include
#include
#include
#include

int mygetch(void)
{
struct termios oldt,
newt;
int ch;
tcgetattr( STDIN_FILENO, &oldt );
newt = oldt;
newt.c_lflag &= ~( ICANON | ECHO );
tcsetattr( STDIN_FILENO, TCSANOW, &newt );
ch = getchar();
tcsetattr( STDIN_FILENO, TCSANOW, &oldt );
return ch;
}

main()
{
    char ch1[10],ch2[10];
    char buf[100];
    int a;
    char c;
    int buf_len = 100;
    
    while(1)
    {
      sleep(5);
      gets(ch2);
      printf("ch2 = %s\n",ch2);
    }
    while(1)
    {
     c = mygetch();
     printf("c=0x%x",c);
    }
    while(1)
    {
       scanf("%d",&a);
       getchar();
       printf("haha1\n");
       gets(ch1);
       printf("haha2\n");
       getchar();
       printf("haha3\n");      
        
    }
  
 /*
unsigned int i=0xff,j=0xFA,a=3,b=100;
short m=0x55;
unsigned short k=0x55;
char mac[20];
    char tmp[80];
char line[80];
    int count = 0;

FILE* fp = fopen( "dev_rev", "r" );
if(fp == NULL)
printf("open errer\n");
memset(tmp,0,80);
    memset(line,0,80);
count = fread(tmp,1,80,fp);
sprintf(line,"%d.%d.%d.%d",tmp[7],tmp[6],tmp[5],tmp[4]);
printf("count = %d\n",count);
// udpsend(FRM_DEV_INFO_HW_REV,tmp,count);
printf("%s",line);
fclose( fp );


  memset(mac,0,20);
  sprintf(mac,"%x:%x:%x:%x:%x:%x",0x11,0x22,0x33,0x44,0x55,0x66);
  printf("%s\n",mac);

a = (i<<8)+j;
printf("a=%04X\n",a);
printf("int = %d short = %d\n",sizeof(int),sizeof(unsigned short));
printf("m = 0x%04X,k = 0x%04X\n",m,k);
    printf("%d,%d,%d,%d,%d,%d",'s'-'a','e'-'a','c'-'a','r'-'a','e'-'a','t'-'a');
    */
}



阅读(2876) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~