contrl.c

来自「这是linux下的基础C编程代码。都是已经调试成功的」· C语言 代码 · 共 93 行

C
93
字号
#include <sys/time.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <piped/piped.h>

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

void read_buffer()
{
	struct timeval tp; 
	float micro;
	gettimeofday (&tp, NULL);
	micro=tp.tv_usec;
	printf("%f\n",micro); 

	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;
	}
}

int compare_buffer()
{
	if((strcmp(buffer,oldbuffer))!=0)
	{
		printf("buffer change!\n");
		strcpy(oldbuffer,buffer);
		return 1;
	}
	return 0;
}

void microsecond_sleep(long ms)
{  
	struct timeval timeout;
    timeout.tv_sec = 0;
    timeout.tv_usec = ms;

	//http://linux.chinaitlab.com/administer/734331.html
    select(FD_SETSIZE,NULL,NULL,NULL,&timeout);
}


int init()
{
	if(!pipedInit())
	{
		printf("piped_Init_error\n");
		return 0;
	}

	return 1;
}

int main(void)
{
	if(!init())
	{
		printf("inital error!\n");
		return 0;
	}
	
	while (1) 
	{
		microsecond_sleep(20000);
		read_buffer();
		if(compare_buffer()==1)
		{
			write_pipe(buffer);
		}
	}
}

⌨️ 快捷键说明

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