#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <pthread.h>
#include <string.h>
char buf[]="1234567";
void* callBack(void* arg)
{
int end_flag=0;
*(int*)arg=end_flag;
int len=strlen(buf);
while(1)
{
char *left=buf;
char *right=buf+len-1;
for(int i=0;i<len/2;i++)
{
char temp=*left;
*left=*right;
*right=temp;
left++;
right--;
}
if(strcmp(buf,"1234567")==0)
{
end_flag=1;
}
else if(strcmp(buf,"7654321")==0)
{
end_flag=2;
}
else
{
end_flag=0;
}
}
pthread_exit(buf);
}
int main(int argc, const char *argv[])
{
int a=0;
pthread_t tid;
if(pthread_create(&tid,NULL,callBack,(void*)&a)!=0)
{
fprintf(stderr,"pthread_create failed line=%d",__LINE__);
return -1;
}
void* ptr=NULL;
pthread_join(tid,&ptr);
while(a!=0)
{
printf("A=%s\n",(char*)ptr);
a=0;
}
return 0;
}
#include <stdio.h>
#include <time.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, const char *argv[])
{
time_t t;
time(&t);
printf("%ld\n", t);
struct tm *info = NULL;
system("clear");
char input[100];
while(1)
{
t = time(NULL);
info = localtime(&t);
if(NULL == info)
{
perror("localtime");
return -1;
}
printf("\n%d-%02d-%02d %02d:%02d:%02d\r",
info->tm_year+1900, info->tm_mon+1, info->tm_mday,
info->tm_hour, info->tm_min, info->tm_sec);
fflush(stdout);
sleep(1);
if (fgets(input, 100, stdin) != NULL && strcmp(input, "quit\n") == 0) {
break;
}
}
return 0;
}