Herramientas de usuario

Herramientas del sitio


ejercicios_archivos
no way to compare when less than two revisions

Diferencias

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


ejercicios_archivos [2015/06/17 14:01] (actual) – creado leandro
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 14:01 por leandro