Microsoft KB Archive/27292

= Passing Basic Fixed-Length String to C by Near Reference =

Article ID: 27292

Article Last Modified on 8/16/2005

-

APPLIES TO


 * Microsoft QuickBasic 4.0
 * Microsoft QuickBASIC 4.0b
 * Microsoft QuickBasic 4.5 for MS-DOS
 * Microsoft BASIC Compiler 6.0
 * Microsoft BASIC Compiler 6.0b

-



This article was previously published under Q27292



SUMMARY
The following program demonstrates how to pass a fixed-length string from compiled Basic to Microsoft C by near reference.

This information about inter-language calling applies to QuickBasic Versions 4.00, 4.00b, and 4.50 for MS-DOS and to Microsoft Basic Compiler Versions 6.00 and 6.00b for MS-DOS and MS OS/2.



MORE INFORMATION
For more information about passing other types of parameters between Basic and C, and a list of which Basic and C versions are compatible with each other, query in the Microsoft Knowledge Base using the following word:

BAS2C

Code Example
REM ===== Basic PROGRAM =====

DECLARE SUB StringNear CDECL (_           BYVAL p1o AS INTEGER,_            SEG p3 AS INTEGER) CLS DIM a AS STRING * 15 a = &quot;This is a test&quot; + CHR$(0) CALL StringNear(VARPTR(a), LEN(a)) END

/* ===== C ROUTINE ===== */

void StringNear(a,len) char near *a; int *len; {   int i;    printf(&quot;The string is : %s \n\n&quot;,a); printf(&quot; Index      Value       Character\n&quot;); for (i=0;i < *len; i++) {        printf(&quot;  %2d          %3d            %c\n&quot;,i,a[i],a[i]); }; }
 * 1) include 

OUTPUT
The string is : This is a test

Index      Value       Character 0          84            T   1          104            h   2          105            i   3          115            s   4           32 5         105            i   6          115            s   7           32 8          97            a   9           32 10         116            t  11          101            e  12          115            s  13          116            t  14            0

Additional query words: QuickBas BasicCom

Keywords: KB27292

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.