#include <unistd.h>

void	ft_swap_sp(char **a, char **b) // sp car adapte avec double **
									   // ici char ** car pt sur str (chaines)
{     // faire swap 2** car fonction prend adresse du pointeur!
	char	*var_temp; // attention char pas int!! pas oublier * av var_temp

	var_temp = *a;
	*a = *b;
	*b = var_temp;
}

void	ft_putstr_sp(char *str) // sp car + a la ligne
{
	while (*str)
		write(1, str++, 1);
	write(1, "\n", 1); //ajout a ft de base
}

int	ft_strcmp(char *s1, char *s2)
{
	int	i;

	i = 0;
	while (s1[i] && s2[i] && (s1[i] == s2[i]))
		i++;
	return (s1[i] - s2[i]);
}

void	ft_sort_special(char **argv, int args)
{
	int	j;
	int	k;
	int	len;

	len = args;
	while (len - 1)
	{
		j = 0;
		k = 1;
		while (k < len)
		{
			if (ft_strcmp(argv[j], argv[k]) > 0)
				ft_swap_sp(&argv[j], &argv[k]);
			++j;
			++k;
		}
		--len;
	}
}

int	main(int argc, char **argv)
{
	ft_sort_special(argv + 1, argc - 1); // argv + 1 pour ignorer le nom du prog...
	while (*(++argv))
		ft_putstr_sp(*argv);
	return (0);
}

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: