blochの日記

自虐ネタ以外のぐちは書かないようにしましょう

pcharの定義

実は、pcharは、その昔、NIのGPIB制御dllを、Delphiに移植した際に既に使ったことがあって、
type GPIB_buffer=packed array[0..200010]of char;
のように型定義しておいて(どうしてこんなに大きな配列にしたかというと、オシロスコープの数万点のT1測定エコーデータを読み取るためであった)、
var buf:GPIB_buffer;
のように変数を作り、sをDelphiのフツーの変数とすると、
s→bufは、strcopy(buf,pchar(s));
buf←sは、s:=copy(string(buf),1,文字数)
である。あと大事なこととしてbufの文字列長は、strlen(buf) で得られる。このbufの文字列定義が、いわゆる、C言語文字列a+b+c+0である。ちなみに昔のパスカル文字列定義は、文字列長+a+b+cであったが、最近、変わったかも知れない。