|
Mike, Below is
the code for 2 functions: cpystrchar
which copy’s a null terminated string to a char array. In the process stripping the
terminating null and padding the char array with blanks. cpycharstr
which goes the other way. Stripping
trailing blanks and inserting a terminating NULL. You would
use them as so: Struct
myRecord rcd; Char
mystring[31]; Cpycharstr(mystring,
rcd.DESC, sizeof(rcd.DESC)); /* Copyies from file field DESC which is not null
terminated to mystring */ Cpystrchar(rcd.DESC,
“Some New String”, sizeof(rcd.DESC)); Bob And for
the code: /* * * * * * * * * * * * * * * * * * * * * * * * * *
* * */ /*
*/ /* cpystrchar - copy string to character buffer
with */ /*
no terminating NULL
*/ /*
*/ /* * * * * * * * * * * * * * * * * * * * * * * * * *
* * */
void cpystrchar(char *ToBuf, char *FrmString, int
Len) {
int x;
BYTE *ptr;
ptr = ToBuf;
strncpy(ptr, FrmString, Len);
if (strlen(FrmString) < Len)
for
(x=strlen(FrmString); x<Len; x++)
ptr[x] = ' ';
return;
} /* * * * * * * * * * * * * * * * * * * * * * * * * *
* * */ /*
*/ /* cpycharstr - copy character buffer to a
string.
*/ /*
*/ /* * * * * * * * * * * * * * * * * * * * * * * * * *
* * */
void cpycharstr(char *ToBuf, char *FrmBuf, int
FrmLen) {
int x;
memcpy(ToBuf, FrmBuf, FrmLen);
ToBuf[FrmLen] = 0;
for (x=strlen(ToBuf) - 1; x >= 0 &&
ToBuf[x] == ' '; x--)
ToBuf[x] = 0;
return;
}
|
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.