HP SunSoft Pascal 4.0 User Manual
Page 167
Advertising

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