JavaScript Editor js editor     Web development 

Main Page

Copies a null-terminated string from src to dest.

void _StrCpy(char FAR *dest, char FAR *src)
char FAR *dest;            /* Destination location. */
char FAR *src;               /* Source location. */


_StrCpy(В ) doesn't support overlapping moves. Overlapping moves are required when src and dest have some bytes in common. If overlapping moves are required, use _MemMove(В ).

For more information on how to create an API library and integrate it with Visual FoxPro, see Accessing the Visual FoxPro API.


The following example is passed a Visual FoxPro array of type Character. It then replaces the second element using _Store(В ).

Before calling MYFUNC( ), the Visual FoxPro example code creates an array and initializes it to type Character. MYFUNC( ) passes this array by reference.

Visual FoxPro Code

В Copy Code
? STRCPY("Hello", " world")   && returns "Hello world"

C Code

В Copy Code
#include <pro_ext.h>

FAR Example(ParamBlk FAR *parm)
#define p0 (parm->p[0].val)
#define p1 (parm->p[1].val)

   if (!_SetHandSize(p0.ev_handle, p0.ev_length + p1.ev_length))
      _Error(182); // "Insufficient memory"
   ((char FAR *) _HandToPtr(p1.ev_handle))[p1.ev_length] = '\0';

   _StrCpy((char FAR *) _HandToPtr(p0.ev_handle) + p0.ev_length,

FoxInfo myFoxInfo[] = {
   {"STRCPY", (FPFI) Example, 2, "C,C"},
FoxTable _FoxTable = {
   (FoxTable FAR *) 0, sizeof(myFoxInfo)/sizeof(FoxInfo), myFoxInfo

See Also

JavaScript Editor js editor     Web development