Herramientas de usuario

Herramientas del sitio


ejercicios_archivos

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

ejercicios_archivos [2015/06/17 15:01] (actual)
leandro creado
Línea 1: Línea 1:
 +==== Ejercicios - Archivos en C ====
 +
 +Les dejo algunos ejercicios de archivos para que practiquen. Ayúdense con las presentaciones de clase, los ejemplos que subí antes y el man, cualquier duda nos consultan.
 +
 +1) Escriba un programa que lea el archivo de texto que recibe por teclado y determine:
 +  * Cantidad total de palabras
 +  * Cantidad de veces que aparece la palabra "​Leandro"​
 +
 +2) Escriba un programa que lea el archivo "​ejemplo.txt",​ línea por línea, y escriba en un archivo denominado "​salida.txt"​ aquellas líneas del primer archivo que NO contengan la palabra "​pepe"​ (sugerencia:​ usar la función desarrollada en el ejercicio 4.17 de la guía para practicar)
 +
 +3) Escriba un programa que lea pida al usuario el nombre de un archivo de texto por teclado y una string a filtrar, y censure esa string con todos caracteres '​X'​. Por ejemplo:
 +  * Si el usuario quiere ocultar el string "​pepe",​ y en el archivo de texto a censurar hay una línea que diga "Mi amigo pepe viaja en colectivo",​ el programa debe devolver en un archivo de salida "Mi amigo XXXX viaja en colectivo"​.
 +  * Sugerencia: realizar una función llamada reemplazo que tenga el siguiente prototipo: void reemplazo(char *entrada, char *filtro, char reemplazo). Leer el archivo de a una línea por vez, y llamar a la función reemplazo pasándole como parámetros el puntero a la dirección de comienzo del string leído del archivo, otro con el string a censurar, y el caracter que reemplazará.
 +
 +4) Realizar un programa que reciba por línea de comando el nombre de archivo de un diccionario,​ que tendrá en cada línea una palabra diferente, y devuelva una palabra de forma aleatoria por pantalla.
 +  * Sugerencia: utilizar rand(), ayúdense por el ejemplo del dado que vimos en clase. Creen una función que llame a rand() y devuelva un número entre 0 y la cantidad máxima de líneas del diccionario. Pueden cargar cada una de las líneas del archivo diccionario en una matriz de caracteres, tratando a cada una de las filas como un string diferente.
 +  * Por ejemplo: ​
 +
 + char diccionario[LINEAS][100];​
 + for(i=0; i<​LINEAS;​ i++)
 + fgets(diccionario[i],​ 99, archivo);
 +
 +5) Realizar un programa que lea de un archivo una línea por vez, y usando las funciones desarrolladas en el ejercicio 4.27, indique si son válidas como dirección IP, e-mail, o número de tarjeta de crédito. El programa deberá imprimir por ejemplo:
 +
 + "La línea 1 es: e-mail"​
 + "La línea 2 es: dirección IP"
 + "La línea 3 es: inválida"​
 + "La línea 4 es: tarjeta de crédito"​
 +
 +6) Realizar un programa que lea por consola el nombre de un archivo de entrada, el nombre de un archivo de salida, y copie la entrada en la salida. Por ejemplo: ​
 +
 + ./copy
 + "​./​entrada.txt"​
 + "​./​salida.txt"​
 +
 +  * Sugerencia: declarar un vector de char que usaremos como "​buffer",​ y llenarlo con fread().
 +
 +7) Realizar una función que reciba como parámetro un puntero a una cadena de caracteres terminada en '​\0'​ conteniendo el nombre de un archivo de texto, y retorne la cantidad de bytes de ese archivo. ​
 +  * Por ejemplo: ​
 +
 + int tamanioarchivo(char *archivo).
 +
 +  * Sugerencia: Utilicen el man para conocer más sobre el valor de retorno de fread();
  
ejercicios_archivos.txt · Última modificación: 2015/06/17 15:01 por leandro