7

The C++ main program,

StruChrMain.cc

#include <stdio.h> #include <string.h>

struct TVarLenStr { int NBytes; char a[25];

};

extern "C" void StruChr ( TVarLenStr &);

int main(void)

{

struct TVarLenStr vls; char s25[25];

vls.NBytes = 0; StruChr (vls);

strncpy (s25, vls.a, vls.NBytes); printf ("s25 = '%s' \n", s25);

printf ("strlen (s25) = %d \n", strlen(s25));

}

The commands to compile and execute StruChr.p and

StruChr.cc

hostname% pc -c StruChr.p

hostname% CC StruChr.o StruChrMain.cc -lpchostname% a.out

s25 = 'St.Petersburg' strlen (s25) = 13

The C++–Pascal Interface

147

Page 171
Image 171
HP SunSoft Pascal 4.0 manual Commands to compile and execute StruChr.p, Hostname% pc -c StruChr.p, C++-Pascal Interface 147