libft
ft_strrev.c
Go to the documentation of this file.
1 /* ************************************************************************** */
3 /* */
4 /* ::: :::::::: */
5 /* ft_strrev.c :+: :+: :+: */
6 /* +:+ +:+ +:+ */
7 /* By: unite <marvin@42.fr> +#+ +:+ +#+ */
8 /* +#+#+#+#+#+ +#+ */
9 /* Created: 2019/09/05 14:44:25 by unite #+# #+# */
10 /* Updated: 2020/07/16 02:42:57 by unite ### ########.fr */
11 /* */
12 /* ************************************************************************** */
13 
14 #include "libft.h"
15 
26 char *ft_strrev(const char *s)
27 {
28  size_t len;
29  size_t i;
30  char *srev;
31 
32  if (!s)
33  return (NULL);
34  len = ft_strlen(s);
35  if (!(srev = ft_strnew(len)))
36  return (NULL);
37  i = 0;
38  while (i < len)
39  {
40  srev[i] = s[len - i - 1];
41  i++;
42  }
43  return (srev);
44 }
ft_strlen
size_t ft_strlen(const char *s)
Replicates behaviour of strlen from libc.
Definition: ft_strlen.c:20
libft.h
ft_strnew
char * ft_strnew(size_t size)
Allocates a fresh string.
Definition: ft_strnew.c:25
ft_strrev
char * ft_strrev(const char *s)
Reverses a string.
Definition: ft_strrev.c:26