⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 settimertest.c

📁 这是linux下的基础C编程代码。都是已经调试成功的
💻 C
字号:
#include <sys/time.h> 
#include <stdio.h>
#include <signal.h> 
#include <string.h>


char buffer[128];
char oldbuffer[128];
static int firsttimeread_flag=0;
static int test=0;

void readbuffer()
{
	if(test%10==0)
	{
       	strcpy(buffer,"hangfei");
	}
	else
	{
		strcpy(buffer,"feihang");
	}

	if(firsttimeread_flag==0)
		strcpy(buffer,oldbuffer);
	
	firsttimeread_flag=1;
	test++;

	if(test==400) 
	{
		test=0;
	}
}


void sigroutine(int signo)
{

    printf("Catch a signal -- SIGVTALRM \n");
    readbuffer();
	if((strcmp(buffer,oldbuffer))!=0)
	{
		printf("buffer change!\n");
		strcpy(oldbuffer,buffer);
	}
}

int main()

{
   
   struct itimerval value, ovalue, value2; //(1)
   signal(SIGVTALRM, sigroutine);

   value2.it_value.tv_sec = 0;

   value2.it_value.tv_usec = 2000;

   value2.it_interval.tv_sec = 0;

   value2.it_interval.tv_usec = 2000;

   setitimer(ITIMER_VIRTUAL, &value2, &ovalue);

   while(1)
   {
	   ;
   }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -