7

The C++ main program,

#include

<stdio.h>

 

 

StruChrMain.cc

#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