實現功能:
拷貝任意字符串的子字符串.
使用函數:strncpy_s
MSDN解釋:
errno_errno_t strncpy_s(
char *strDest,
size_t numberOfElements,
const char *strSource,
size_t count
);
其中各個變量的含義:
strDest:目標字符串
numberOfElements:目標字符串的大小(以字符為單位)
strSource:源字符串
count:要拷貝的字符串的字符數
Demo:
將morning拷貝到一個新的變量中
char source[100]="good morning everyone and hope you have a good time this winter!!";
char dest[30];
strncpy_s(dest,30,source+5,7);

對于寬字符使用如下:
errno_t wcsncpy_s(
wchar_t *strDest,
size_t numberOfElements,
const wchar_t *strSource,
size_t count
);
方法二:
void *_memccpy(
void *dest,
const void *src,
int c,
size_t count
);
解釋:
c為最后一個要拷貝的字符
count為dest中可容納的最大字符數
功能就是將從source開始到c的字符串拷貝到新的變量中。
void test()


{
char buffer[61];
char *pdest;
char string1[60] = "The quicks brown dog jumps over the lazy fox";

printf( "Function: _memccpy 60 characters or to character 's'\n" );
printf( "Source: %s\n", string1 );
pdest = (char*)_memccpy( buffer, string1+4, 's', 60 );
*pdest = '\0';
printf( "Result: %s\n", buffer );
printf( "Length: %d characters\n", strlen( buffer ) );

}