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

📄 mon_auto.c

📁 unix下进行电报传输的源码。采用信号灯技术避免文件冲突等等
💻 C
字号:
#include <string.h>
#include <stdio.h>
#include <sys/types.h>
#include <sys/ipc.h>
#include <sys/sem.h>
#include <time.h>
#include <math.h>
#include "nfcnet.h"
main()
{ char s_b[P_SENDOBJ+1][25]={0};
  char r_b[P_SENDOBJ+1][25]={0};
  FILE *fp,*fp1;
  int i;
  char fn[50];
  fp1=fopen("/nfcnet/ddbf/mon_auto.dat","w+");
  fclose(fp1);
  system("/usr/bin/chmod 666 /nfcnet/ddbf/mon_auto.dat");
  for(;;)
  {
    for(i=1;i<=P_SENDOBJ;i++)
    { sprintf(fn,"/nfcnet/netr/r%03dlast.dat",i);
      if((fp=fopen(fn,"r"))==NULL)continue;
      fgets(&r_b[i][0],24,fp);
      fclose(fp);
    }
    for(i=1;i<=P_SENDOBJ;i++)
    { sprintf(fn,"/nfcnet/nets/s%03dlast.dat",i);
      if((fp=fopen(fn,"r"))==NULL)continue;
      fgets(&s_b[i][0],24,fp);
      fclose(fp);
    }
    if((fp1=fopen("/nfcnet/ddbf/mon_auto.dat","w+"))==NULL)
    { printf("The error is found at open mon_auto.dat .\n");
      sleep(5*60);
      continue;
    }
    fprintf(fp1,"\n       *** The last NO.  received from NFCNET ***\n\r");
    for(i=1;i<=P_SENDOBJ;i=i+4)
    {
      if(strlen(r_b[i+0])==0)fprintf(fp1,"%3d -          ",i+0);
      if((strlen(r_b[i+0])!=0)&&(r_b[i+0][0]=='1'))
        fprintf(fp1,"%3d - %s   ",i+0,&r_b[i+0][15]);
      if((strlen(r_b[i+0])!=0)&&(r_b[i+0][0]!='1'))
        fprintf(fp1,"%3d - %s   ",i+0,&r_b[i+0][14]);
      if(i+1 > P_SENDOBJ)continue;
      if(strlen(r_b[i+1])==0)fprintf(fp1,"%3d -          ",i+1);
      if((strlen(r_b[i+1])!=0)&&(r_b[i+1][0]=='1'))
        fprintf(fp1,"%3d - %s   ",i+1,&r_b[i+1][15]);
      if((strlen(r_b[i+1])!=0)&&(r_b[i+1][0]!='1'))
        fprintf(fp1,"%3d - %s   ",i+1,&r_b[i+1][14]);
      if(i+2 > P_SENDOBJ)continue;
      if(strlen(r_b[i+2])==0)fprintf(fp1,"%3d -          ",i+2);
      if((strlen(r_b[i+2])!=0)&&(r_b[i+2][0]=='1'))
        fprintf(fp1,"%3d - %s   ",i+2,&r_b[i+2][15]);
      if((strlen(r_b[i+2])!=0)&&(r_b[i+2][0]!='1'))
        fprintf(fp1,"%3d - %s   ",i+2,&r_b[i+2][14]);
      if(i+3 > P_SENDOBJ)continue;
      if(strlen(r_b[i+3])==0)fprintf(fp1,"%3d -          ",i+3);
      if((strlen(r_b[i+3])!=0)&&(r_b[i+3][0]=='1'))
        fprintf(fp1,"%3d - %s   ",i+3,&r_b[i+3][15]);
      if((strlen(r_b[i+3])!=0)&&(r_b[i+3][0]!='1'))
        fprintf(fp1,"%3d - %s   ",i+3,&r_b[i+3][14]);
      fprintf(fp1,"\n\r");
    }
    printf("\nThe last recevied is ok !\n");
    fprintf(fp1,"\r\n       *** The last NO. transmitted to NFCNET ***\n\r");
    for(i=1;i<=P_SENDOBJ;i=i+4)
    {
      if(strlen(s_b[i+0])==0)fprintf(fp1,"%3d -          ",i+0);
      if(strlen(s_b[i+0])!=0)fprintf(fp1,"%3d - %s  ",i+0,&s_b[i+0][0]);
      if(i+1 > P_SENDOBJ)continue;
      if(strlen(s_b[i+1])==0)fprintf(fp1,"%3d -          ",i+1);
      if(strlen(s_b[i+1])!=0)fprintf(fp1,"%3d - %s  ",i+1,&s_b[i+1][0]);
      if(i+2 > P_SENDOBJ)continue;
      if(strlen(s_b[i+2])==0)fprintf(fp1,"%3d -          ",i+2);
      if(strlen(s_b[i+2])!=0)fprintf(fp1,"%3d - %s  ",i+2,&s_b[i+2][0]);
      if(i+3 > P_SENDOBJ)continue;
      if(strlen(s_b[i+3])==0)fprintf(fp1,"%3d -          ",i+3);
      if(strlen(s_b[i+3])!=0)fprintf(fp1,"%3d - %s  ",i+3,&s_b[i+3][0]);
      fprintf(fp1,"\n\r");
    }
    printf("\nThe last transmitted is ok !\n");
    fclose(fp1);
    printf("The Sleepping Time !\n");
    sleep(5*60);
    printf("The Working Time !\n");
  }
}

⌨️ 快捷键说明

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