ft_atoi.c
Esta función permite convertir un caracter ASCII a su equivalente entero
Enunciado
atoi(3)
NOMBRE
atoi--> converts un ASCII a entero
CABECERA
int atoi(const char *str);
DESCRIPCIÓN
Convierte el caracter ASCII `str` a so valor entero
DEVOLUCIÓN
Devuelve el entero equivalente, Planteamiento
#include "libft.h"
int ft_atoi(const char *str) {
/* definimos un contadore y asignamos sus valores predefinidos */
/* definimos una variable auxiliar para guardar nuestro resultado y la inicializamos a `0` */
/* en este caso, hay varias comprobaciones que debemos contemplar
* - ¿el caracter en la posición actual es un espacio?
* - ¿el caracter en la posición actual es un símbolo? */
/* iterando directamente sobre `str`, mediante el contador, miramos si el caracter actual es un espacio. en ese caso lo omitimos */
while (/* posición actual es un espacio */) {
/* incrementamos el contador de posición */
}
/* comprobamos si el caracter actual es un signo */
while (/* posición actual es un signo */) {
if (/* específicamente es un negativo */)
/* establecemos la propiedad `sign` a negativo */
/* establecemos del resultado actual al valor correspondiente en base a la operación adecuada */
/* preparamos la próxima iteración */
}
/* devolvemos el resultado */
return (result);
}Solución
Para la resolución de la manera óptima, planteamos utilizar algunas funciónes auxiliares. Estas, las cuales llamaremos por ejemplo ft_isanspace y ft_signaction, ya que consideramos un nombres de funciónes mas que descriptivos, las utilizaremos para realizar una serie de comprobaciones específicas y evitar la sobrecarga de lineas en nuestro método.
Última actualización
¿Te fue útil?