Métodos para trabajar con variables del tipo “char” Como bien sabrán, para poder trabajar con variables del tipo “char”, debemos de conocer los distintos métodos que posee esta clase, por lo que a continuación se explicaran las funciones mas útiles a la hora de trabajar con este tipo de arreglos. 1. strcpy(str1, str2); (String Copy) Este método es el homologo del igual de asignación (“=”) para los “int”, lo que haces es asignar al string “str1”, los caracteres contenidos dentro de “str2”, borrando cualquier cosa que “str1” tuviese en un principio. Tener presente que para que esta asignación sea valida, “str1” debe de contener la cantidad de espacios necesarios, sino, esto causara problemas en el programa. EJ: char variable[5]; strcpy(variable, “hola”); -----> si funciona. strcpy(variable, “paralelepipedo”); ------> causara problemas eventualmente 2. strlen(str1); (String Lenght) Este método retorna la cantidad de caracteres que tiene el arreglo “str1” EJ: char variable[10]; strcpy(variable, “amigo”); printf(“%i”, strlen(variable)); ---> imprimirá por pantalla “5”. 3. strcmp(str1, str2); (String Comper) Este método es el homologo del igual de condición(“==”) para los “int”, lo que haces es comparar el string, “str1”, con el string “str2”, si estos fuesen iguales la función retornara un “0”, si “str1” es mayor que “str2”, retornara un numero mayor a “0”, y en caso contrario menor a “0”. EJ: strcmp(“hola”, “hola”); -----> retorna “0”. strcmp(“hola”, “chao”); -----> retorna un numero mayor a “0”. (1). strcmp(“hola”, “zanahoria”); -----> retorna un numero menor a “0”. (-1). 4. strcat(str1, str2); (String Concatenation) Lo que hace esta función es concatenar el contenido de “str2”, con el contenido de “str1”, y guardar el resultado dentro de “str1”, al igual que con “strcpy”, la variable “str1” deberá de tener el espacio suficiente para lograrlo. EJ: char variable[10]; strcpy(variable, “hola”); strcat(variable, “, amigo”); printf(“%s”, variable); -----> mostrara por pantalla: “hola, amigo”. 5. strstr(str1, str2); Este método busca en “str1” cualquier ocurrencia de “str2”, una vez hecho esto, la función retornara un puntero a la primera posición encontrada de dicho sub-arreglo, si el arreglo buscado(“str2”) no se encuentra, la función retornara un “0” o nulo(NULL). EJ: char variable[10]; strcpy(variable, “hola”); strstr(variable, “o”); ------> retorna un puntero a la posición de la ocurrencia. strstr(variable, “ola”); ------> retorna un puntero a la posición de la ocurrencia. strstr(variable, “z”); . -------> retorna “0” 6. atoi(str1); (Array To Int) Esta función tratara de convertir el arreglo “str1” a un entero (int), en caso de no poder hacerlo(ya se que trata solo de letras), retornara un “0”. Si en cambio el string “str1”, es una combinación de letras y números, solo convertirá los números que estén antes que cualquier letra, una vez lea una letra, la función parara y retornara lo que alcanzo a transformar. EJ: char variable[10]; strcpy(variable, “hola”); atoi(variable,); ------> retorna “0”. strcpy(variable, “23hola”); atoi(variable,); ------> retorna “23”. strcpy(variable, “2hola3”); atoi(variable,); ------> retorna “2”. strcpy(variable, “hola23”); atoi(variable,); ------> retorna “0”. 7. itoa(int1, str1, base); (Int To Array) Este método convertirá la variable entero “int1” a un arreglo, para transformar el numero utilizara como base a “base”, luego de hacer esto, guardara el resultado en “str1”. EJ: char variable[10]; int valor = 100; itoa(valor, variable, 10); ---> Base decimal. printf(“%s”, variable); --------> muestra en pantalla “100”. itoa(valor, variable, 2); ---> Base binaria. printf(“%s”, variable); --------> muestra en pantalla “1100100”. itoa(valor, variable, 16); ---> Base hexadecimal. printf(“%s”, variable); --------> muestra en pantalla “64”.