====== Função strncpy ======
Arquivo header:
#include
----
Sintaxe:
''[[tipos_dados|char *]] strncpy( [[tipos_dados|char *]] endereçoStringDestino, [[const]] [[tipos_dados|char *]] endereçoStringOrigem, [[tipos_dados|size_t]] iQuantidade );''
----
A função ''**strncpy**'' tem o mesmo comportamento da função [[strcpy]], exceto por copiar até quantidade caracteres da string ''endereçoStringOrigem'' na string ''endereçoStringDestino''.
/* strncpy.c */
#include
#include
int main(void)
{
char sString_1[]="123456789\0";
char sString_2[4];
char sString_3[4];
/* copia os 3 primeiros caracteres de sString_1 */
strncpy(sString_2, sString_1, 3);
printf("\nsString_1 = [%s]", sString_1);
printf("\nsString_2 = [%s]", sString_2);
/* É necessário sempre acrescentar o \0 ao final da string, pois a função
strncpy copia até o número de caracteres indicados, e, nenhum dos
caracteres pode ser o \0 ocasionando em resultados “não controlados”. */
sString_2[3]='\0';
printf("\nsString_2 = [%s]", sString_2);
/* Uma alternativa, é utilizar o comando memset gravar \0 em todo o espaço
de memória da string */
memset(sString_3, 0, sizeof(sString_3));
strncpy(sString_3, sString_1, 3);
printf("\nsString_3 = [%s]", sString_3);
return 0;
}
--- //[[marcos@laureano.eti.br|Marcos Laureano]] 2009/05/10 18:53//