elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Trabajo
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Trabajo  (Leído 1,569 veces)
Alfredo_Marin

Desconectado Desconectado

Mensajes: 1


Ver Perfil
Trabajo
« en: 27 Agosto 2015, 08:55 am »

Hola tengo este ejercicio que que no he podido resolver alguien me podria ayudar.

Código
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include <sys/types.h>
  5. #include <sys/wait.h>
  6. #include <unistd.h>
  7. #include <fcntl.h>
  8. #include <sys/stat.h>
  9.  
  10. int main(int argc, char **argv[])
  11. {
  12. int pid;
  13. int bytes;
  14. char archivo[15];
  15. char datos[100];
  16.  
  17. printf("\nIngrese el nombre del archivo:~$  ");
  18. scanf("%s", archivo);
  19.  
  20. pid = fork();
  21.  
  22. if(pid==-1)
  23. {
  24. printf("\nERROR");
  25. exit (-1);
  26. }
  27.  
  28. if(pid==0)
  29. {
  30. printf("\nSoy el hijo");
  31. int fichero = open((strcat(archivo,".txt")),O_RDONLY);
  32. if(fichero==-1)
  33. {
  34. perror("ERROR. No se pudo abrir el fichero. ");
  35. exit (1);
  36. }
  37. else
  38. {  
  39. printf("\nFichero abierto correctamente.\n\n");
  40. bytes = read(fichero,datos,strlen(datos));
  41. printf("\nEl numero de bytes del archivo es: %d",bytes);
  42. printf("\n\n");
  43. }
  44. close(fichero);
  45.  
  46. }
  47. else
  48. {
  49. printf("\nSoy el padre\n");
  50. }
  51. return 0;
  52. }
  53.  
EL ENUNCIADO ES EL SIGUIENTE:

Citar
Escriba un programa en C que haga lo siguiente

- Pedir por teclado el nombre de un archivo
- Crear un proceso hijo
   - El proceso hijo abrirá el archivo en modo lectura, y mostrará por pantalla
     el número total de bytes del archivo. También contará y mostrará por pantalla
     cuantas veces aparecen las letras a, s, d y f (en minusculas y sin acento)

   - En caso de que ocurra un error, el proceso hijo informará por pantalla y
     terminará devolviendo el código de error 1, en caso contrario deberá devolver
     0 indicando que el proceso terminó correctamente.

- El proceso padre deberá esperar por la  culminación del proceso padre e informar sobre
  el PID y el estado en el que terminó el proceso hijo.

A continuación se muestra un ejemplo de ejecución del programa:

Esciba el nombre de un archivo: archivo.txt

PROCESO HIJO
Número total de bytes: 435 bytes
Veces que aparece la letra a: 127
Veces que aparece la letra s: 98
Veces que aparece la letra d: 45
Veces que aparece la letra f: 35

PROCESO PADRE
Ha terminado el proceso con PID = 1234 con el estado de error 0

Mod: cada tema va en su lugar, esto no es sobre linux, es sobre programacion en c, movido, los códigos de deben ir en etiquetas GeSHi, corregido, cambia el título el mismo debe ser descriptivo a la problemática


« Última modificación: 27 Agosto 2015, 09:07 am por engel lex » En línea

engel lex
Moderador Global
***
Desconectado Desconectado

Mensajes: 15.514



Ver Perfil
Re: Trabajo
« Respuesta #1 en: 27 Agosto 2015, 09:12 am »

Que problema te da o que no sabes hacer? Da detalle y se preciso

Recomiendo leer estos 2 temas
10 pasos para plantear una duda informática
FAQ : Como hacer preguntas "inteligentes"


En línea

El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Trabajo de 4rt
Foro Libre
davasanz22 2 2,368 Último mensaje 17 Febrero 2011, 15:23 pm
por Spider-Net
Qué es un trabajo IT?
Dudas Generales
tomi1234 1 1,925 Último mensaje 5 Febrero 2013, 11:10 am
por el-brujo
Trabajo
Programación C/C++
zarco 2 1,534 Último mensaje 6 Enero 2017, 04:45 am
por JavierScars
Trabajo C++
Programación C/C++
angel 1 1,521 Último mensaje 15 Enero 2017, 22:04 pm
por simorg
Carding Trabajo
Hacking
chaams03 5 15,168 Último mensaje 22 Agosto 2022, 11:58 am
por ElMag0
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines