String.c

De wiki-prog
Révision de 24 octobre 2016 à 16:35 par Slashvar (discuter | contributions) (Taille d'une chaîne de caractères)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

Taille d'une chaîne de caractères

voir strlen(3)

/* classique avec for */
size_t strlen(char *s)
{
  size_t i;
  for (i = 0; s[i]; ++i)
    continue;
  return i;
}
/* From FreeBSD sources */
size_t strlen(const char *str)
{
  const char *s;
 
  for (s = str; *s; ++s);
  return (s - str);
}

Copie d'une chaîne de caractères

voir strncpy(3)

/* classique à coup de for */
char *strncpy(char *to, char *from, size_t n)
{
  size_t i;
  for (i = 0; from[i] && i < n; ++i)
    to[i] = from[i];
  for (; i < n; ++i)
    to[i] = 0;
  return to;
}