Indentadas y en los bloques code quedan MÁS lindas todavía, jajaja.
Gracias por el aporte capo
/**
* \fn int void left_trim(char *palabra);
* \brief Elimina el espacio al principio de la palabra.
* \author Feer.
* \date
* \param Entrada de la palabra.
* \return No retorna parametros.
*/
void left_trim(char *palabra){
int i,j;
for (i=0,j=0;*(palabra+i)!=0;i++){
if(*(palabra+i)!=' '){
*(palabra+j) = *(palabra+i);
j++;
}
}
*(palabra+j) = 0;
}
/**
* \fn int void right_trim(char *palabra);
* \brief Sobreescribe a la palaabra con espacios en blanco.
* \author Feer
* \date
* \param Entrada de la palabra.
* \return No retorna parametros.
*/
void right_trim(char *palabra){
int i,j,fin;
fin = my_strlen (palabra);
for (i=fin,j=fin;palabra[i]<=fin;i--){
if(palabra[i]!=' '){
palabra[j]=palabra[i];
j--;
}
}
palabra[j]=0;
}
/**
* \fn void my_strcat(char *t, const char *s);
* \brief Concatena las palabras recibidas en el argumento.
* \author Feer
* \date
* \param Entrada de las dos palabras.
* \return No retorna resultados.
*/
void my_strcat(char *palabraA, const char *palabraB){
int i,j;
int fin;
//Busco la el tamaño de la palabra a la cual voy a concatenar con la segunda palabra ingresada.
fin = my_strlen(palabraA);
//Aumento el contador a partir de la posicion de fin (primera palabra) y posicion 0 de la segunda palabra.
for(i = fin, j = 0; *(palabraB + j) != 0; j++, i++){
*(palabraA + i) = *(palabraB + j);
}
//Finalizo el vector.
*(palabraA + i) = 0;
}
/**
* \fn void my_strcat(char *t, const char *s);
* \brief Compara las palabras introducidas por teclado.
* \author Feer
* \date
* \param Entrada de las dos palabras.
* \return Retorna la comparación.
*/
int my_strcmp(const char *t,const char *s){
int i;
for(i=0; t[i] == s[i] && s[i]!=0 && t[i]!=0; i++);
if (t[i]==s[i]){
return(0);
}
else {
if(t[i]<s[i]){
return(1);
}
else{
return (-1);
}
}
}
/**
* \fn void my_strcpy (char *t, const char *s);
* \brief Copia una palabra en otra dirección de memoria.
* \author Feer
* \date
* \param Entrada de la palabra.
* \return No retorna resultados.
*/
void my_strcpy (char *t, const char *s){
int i;
for (i=0;*(s+i)!=0;i++){
//Guarda el contenido de una posicion del vector en otro vector.
*(t+i) = *(s+i);
}
*(t+i) = 0;
}
/**
* \fn int my_strlen (const char *);
* \brief Calcula la longitud de una palabra introducida por teclado. (4.4)
* \author Feer
* \date
* \param Entrada de la palabra.
* \return Retorna la longitud de la palabra.
*/
int my_strlen (const char *palabra){
int i;
//Si la posicion de palabra+i es distinta de 0, incremento, al salir del for terno un numero el cual coincide con la longitud de la palabra.
for (i=0;*(palabra+i)!=0;i++);
return (i);
}
/**
* \fn void strlwr(char *cadena)
* \brief Reemplaza los caracteres mayusculas por minusculas.
* \author Feer
* \date
* \param Entrada de la palabra.
* \return No retorna.
*/
void strlwr(char *cadena){
int i, len;
len = my_strlen(cadena);
for(i=0; i< len; i++){
if( *(cadena + i)>='A' && *(cadena + i) <= 'Z') *(cadena + i ) += 'a' -'A';
}
}
/**
* \fn bool my_strstr(char *big, char *sub);
* \brief Compara el conjunto y el posible subconjunto.
* \author Feer
* \date
* \param Entradas de s1 y s2.
* \return Retorna un valor segun su condicion de verdad.
*/
bool my_strstr(char *big, char *sub){
int i,j;
int ret=0;
for (i=0,j=0;big[i]!=0 && sub[j]!=0;i++){
if(big[i] == sub[j]){
ret = true;
j++;
}
else{
j = 0;
ret = false;
}
}
return (ret);
}
/**
* \fn void strupr(char *cadena)
* \brief Reemplaza los caracteres minuscula por mayusculas.
* \author Feer
* \date
* \param Entrada de la palabra.
* \return No retorna.
*/
void strupr(char *cadena){
int i, len;
len = my_strlen(cadena);
for(i=0; i< len; i++){
if( *(cadena + i)>= 'a' && *(cadena + i) <= 'z') *(cadena + i ) -= 'a' - 'A';
}
}