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


 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


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

Desconectado Desconectado

Mensajes: 36


Ver Perfil
Ayuda con esta función en C
« en: 4 Abril 2020, 18:07 »

Esta función me da error al abrir el fichero y no entiendo muy bien por qué, si alguien me puede ayudar un poco se lo agradecería eternamente :p
Código
  1. /*
  2.  * función base de los consumidores
  3.  * - cada consumidor va volcando línea a línea el contenido del buffer
  4.  *   en el fichero cuyo nombre se le pasa como parámetro
  5.  */
  6. void *consumidor(void *arg)
  7. {
  8.    int fin = 0;
  9.    char *s = arg, *b;
  10.    pthread_t id;
  11.    FILE *f;
  12.  
  13.    f = fopen(s, "w");
  14.  
  15.    if (f == NULL)
  16.    {
  17.        perror("Error abriendo fichero.\n");
  18.        exit(1);
  19.    }
  20.  
  21.    id = pthread_self();
  22.  
  23.   while(fin != 1)
  24.   {
  25.       if (buf_vacio(buf))
  26.       {
  27.           pthread_cond_wait(&cond_prod, &mtx);
  28.       }
  29.       else if (buf_vacio(buf) && terminar == 1)
  30.       {
  31.           fin = 1;
  32.       }
  33.       else
  34.       {
  35.          b = buf_quitar(buf);
  36.          fputs(b, f);
  37.          pthread_cond_wait(&cond_prod, &mtx);
  38.    }
  39.   }
  40.  
  41.   fclose(f);
  42.   printf("Consumidor %lu: fichero de salida: '%s'.\n", id, (char *) s);
  43.  
  44.    return (void *) 1;
  45. }


En línea

fary
Colaborador
***
Desconectado Desconectado

Mensajes: 957



Ver Perfil WWW
Re: Ayuda con esta función en C
« Respuesta #1 en: 4 Abril 2020, 21:41 »

CREO que el código esta bién... ¿Puede ser que tu programa no tenga suficientes privilegios?
Prueba a ejecutar tu programa como admin.

saludos.


En línea

Un byte a la izquierda.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con esta funcion
Java
nico56 7 2,663 Último mensaje 13 Julio 2010, 01:35
por joseprox
quien me ayuda con esta funcion?
Programación C/C++
miguelb18 3 1,452 Último mensaje 21 Octubre 2010, 10:26
por satu
ayuda con esta funcion
Programación C/C++
Fer995 2 1,393 Último mensaje 6 Marzo 2011, 01:42
por Akai
Ayuda con esta funcion « 1 2 »
Programación C/C++
gold oscar 16 3,550 Último mensaje 3 Noviembre 2016, 21:30
por engel lex
[Ayuda] Por que no anda esta función en Haskell
Programación General
PabloPbl 1 536 Último mensaje 12 Marzo 2018, 19:05
por srWhiteSkull
Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines