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

📄 monitor.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;
  int i;
  char fn[50];
  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);
    close(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);
    close(fp);
  }
  printf("\n       *** The last NO.  received from NFCNET ***\n");
  for(i=1;i<=P_SENDOBJ;i=i+4)
  {
    if(strlen(r_b[i+0])==0)printf("%3d -          ",i+0);
    if(strlen(r_b[i+0])!=0)printf("%3d - %s   ",i+0,&r_b[i+0][14]);
    if(i+1 > P_SENDOBJ)continue;
    if(strlen(r_b[i+1])==0)printf("%3d -          ",i+1);
    if(strlen(r_b[i+1])!=0)printf("%3d - %s   ",i+1,&r_b[i+1][14]);
    if(i+2 > P_SENDOBJ)continue;
    if(strlen(r_b[i+2])==0)printf("%3d -          ",i+2);
    if(strlen(r_b[i+2])!=0)printf("%3d - %s   ",i+2,&r_b[i+2][14]);
    if(i+3 > P_SENDOBJ)continue;
    if(strlen(r_b[i+3])==0)printf("%3d -          ",i+3);
    if(strlen(r_b[i+3])!=0)printf("%3d - %s   ",i+3,&r_b[i+3][14]);
    printf("\n");
  }
  printf("\n       *** The last NO. transmitted to NFCNET ***\n");
  for(i=1;i<=P_SENDOBJ;i=i+4)
  {
    if(strlen(s_b[i+0])==0)printf("%3d -          ",i+0);
    if(strlen(s_b[i+0])!=0)printf("%3d - %s  ",i+0,&s_b[i+0][0]);
    if(i+1 > P_SENDOBJ)continue;
    if(strlen(s_b[i+1])==0)printf("%3d -          ",i+1);
    if(strlen(s_b[i+1])!=0)printf("%3d - %s  ",i+1,&s_b[i+1][0]);
    if(i+2 > P_SENDOBJ)continue;
    if(strlen(s_b[i+2])==0)printf("%3d -          ",i+2);
    if(strlen(s_b[i+2])!=0)printf("%3d - %s  ",i+2,&s_b[i+2][0]);
    if(i+3 > P_SENDOBJ)continue;
    if(strlen(s_b[i+3])==0)printf("%3d -          ",i+3);
    if(strlen(s_b[i+3])!=0)printf("%3d - %s  ",i+3,&s_b[i+3][0]);
    printf("\n");
  }
}

⌨️ 快捷键说明

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