The C–Pascal Interface
119
6
The C function,
StrVar.c
#include <string.h>
struct TVarLenStr {
int nbytes;
char a[26];
};
void StrVar(char *s10, char *s80, struct TVarLenStr *vls)
{
static char ax[11] = "abcdefghij";
static char sx[81] = "abcdefghijklmnopqrstuvwxyz";
static char vx[6] = "varstr";
strncpy(s10, ax, 11);
strncpy(s80, sx, 80);
strncpy(vls->a, vx, 6);
vls->nbytes = 6;
}
The Pascal main program,
StrVarMain.p
program StrVarMain(output);
type
TVarStr = varying[26] of char;
var
a: alfa;
s: string;
v: TVarstr;
procedure StrVar(var a: alfa; var s: string; var v: TVarStr);
external c;
begin
StrVar(a, s, v);
writeln(a);
writeln(s);
writeln(v);
writeln(' length(v) = ', length(v) :2);
end. { StrVarMain }
Содержание SunSoft Pascal 4.0
Страница 14: ...xiv Pascal 4 0 User s Guide ...
Страница 16: ...xvi Pascal 4 0 User s Guide ...
Страница 30: ...6 Pascal 4 0 User s Guide 1 ...
Страница 160: ...136 Pascal 4 0 User s Guide 6 ...
Страница 268: ...244 Pascal 4 0 User s Guide 11 ...
Страница 320: ...296 Pascal 4 0 User s Guide B ...
Страница 331: ...Index 307 ...
Страница 333: ......