HP SunSoft Pascal 4.0 User Manual

Page 167

Advertising
background image

The C++–Pascal Interface

143

7

The C++ main program,

StrRefMain.cc

#include <stdio.h>

#include <string.h>

struct TVarLenStr {

int NBytes;

char a[25];

};

extern "C" void StrRef (

char *,

char *,

TVarLenStr &);

int main(void)

{

struct TVarLenStr vls;

char s10[10],

s80[80],

s25[25];

vls.NBytes = 0;

StrRef (s10, s80, vls);

strncpy (s25, vls.a, vls.NBytes);

printf (" s10 = '%s' \n s80 = '%s' \n s25 = '%s' \n",

s10, s80, s25);

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

}

The commands to compile and
execute

StrRef.p

and

StrRefMain.cc

hostname% pc -c StrRef.p

hostname% CC StrRef.o StrRefMain.cc -lpc

hostname% a.out

s10 = 'abcdefghi'

s80 = 'abcdefghijklmnopqrstuvwxyz'

s25 = 'varstr'

strlen (s25) = 6

Advertising