jw_cad 外部変形 - (997) gccで線幅を取得する(lw) -

外部変形は データのやり取りをテキストファイルで行うので プログラム言語は 自由に選ぶことができます。図形は機能的かつシンプルなため、数多くのユーザーに受け入れられています。

 

gccで線幅を取得する(lw)

:gccで線幅を取得する(lw)
@echo off
if not exist %~dpn0.exe (
  for /f "delims=:" %%n in ('findstr /n "^#!" %0') do (
    more +%%n %0 > %~dpn0.c
    gcc -Os %~dpn0.c -o %~dpn0.exe -s
  )
)
%~dpn0
goto:eof

REM #jww
REM #zw
REM #e

#!この次の行からプログラムを書いてください
#include "jw.h"
int main(void)
{
  FILE *f;
  int n;
  char S_[256], *F[20];
  char lw[4], plw[4];
  int flg = 0;
  if ( (f = fopen("jwc_temp.txt", "r")) != NULL) {
    while (fgets(S_, 256, f) != NULL) {
      split(chomp(S_), F);
      if (strncmp(S_, "lw", 2) == 0) {
        n = strlen(S_);
        substr(S_, 2, n-1, plw);
        if (flg == 0) { strcpy(lw, plw); flg = 1; }
      }
    }
  } else {
    exit(MISSING_JWC_TEMP_TXT);
  }
  fclose(f);
  f = fopen("jwc_temp.txt", "w");
  fprintf(f, "h#lw=%s * 1/100mm\n", lw);
  fclose(f);
  return 0;
}