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

📄 test.c

📁 激光加工控制系统 可以读入plt文件
💻 C
字号:
#include <stdio.h>

get_a_line(FILE *fpe);

char buf[200];
char nbuf[200];

main()
{
  FILE *fpe;
  int ret,x1,y1,x2,y2,j,flag,m,n;
  long i;
  int cur_pen_order;
  float fx,fy;
  int spd[10];
  long minx,miny,maxx,maxy;
  long curx,cury,x,y,oldx,oldy;


  fpe = fopen("c:\\jgs\\test.g","rb");
  if (fpe == NULL){
	  return -1;
  }
  ret = get_a_line(fpe);
  minx = miny = maxx = maxy = curx = cury = 0;
  n = 0;
  while (ret != -1){
	  if ((buf[0] == 'V')&&(buf[1] == 'S')){
        spd[n++] = atoi(&(buf[2]))*50;
	  }
    if (buf[0] == 'P'){
      if ((buf[1] == 'U')||(buf[1] == 'D')){
	x = atoi(&(buf[2]));
	i = 2;
	while (buf[i] != ' ')
	  i ++;
	y = atoi(&(buf[i]));
	curx = x;
	cury = y;
	if (minx > curx)
	  minx = curx;
	if (maxx < curx)
	  maxx = curx;
	if (miny > cury)
	  miny = cury;
	if (maxy < cury)
	  maxy = cury;
      }
    }
    ret = get_a_line(fpe);
  }
  fclose(fpe);

}

get_a_line(FILE *fpe)
{
  int i,ch,j;
  long l;

  ch = fgetc(fpe);
  if (ch == EOF)
    return -1;
  i = 0;
  while ((ch == 13)||(ch == 10))
    ch = fgetc(fpe);
  while ((ch != 13)&&(ch != 10)&&(ch != EOF)){
    buf[i++] = ch;
    ch = fgetc(fpe);
  }
  buf[i] = 0;
  if (ch == EOF)
    return -1;
  ch = fgetc(fpe);
  if (ch == EOF)
    return -1;
  strcpy(nbuf,"");
  if (ch == 13){
      ch = fgetc(fpe);
      if (ch == EOF){
        return 0;
	  }
      j = 1;
  }
  else
      j = 1;
  i = 0;
  while ((ch != 13)&&(ch != 10)&&(ch != EOF)){
    nbuf[i++] = ch;
    ch = fgetc(fpe);
    j ++;
  }
  nbuf[i] = 0;
  if (ch == EOF){
    strcpy(nbuf,"");
    j --;
  }
  l = -j;
  fseek(fpe,l,SEEK_CUR);

  return 0;
}

⌨️ 快捷键说明

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