title: fprintf in File not found
body: <p>I have a problem in the fprintf in the function "menor" because the data is not visible in the file selected, i dont know what is the problem, please help, i think is the reference file, but not idea.</p>
  
  <p>I have a problem in the fprintf in the function "menor" because the data is not visible in the file selected, i dont know what is the problem, please help, i think is the reference file, but not idea</p>
  
  <pre><code>    #include &lt; stdio.h &gt; 
      #include &lt; stdlib.h &gt; 
      #include &lt; string.h &gt;
  
  
      typedef struct {
          char * nombre;
          char * editorial;
          int valor;
          int area;
          int vendido;
      }
  Libro;
  
  int conteo(FILE * _entrada);
  void datos(FILE * _entrada, Libro * _trabajo, int cantidad);
  void menor(FILE * _entrada, FILE * _salida, Libro * _trabajo, int cantidad);
  
  int main() {
      FILE * entrada;
      char ingreso[256];
      printf("Direccion del archivo de entrada \n");
      scanf("%255s", ingreso);
      entrada = fopen(ingreso, "r");
      if (entrada == NULL) {
          printf("No se pudo acceder al archivo de entrada \n");
          exit(1);
      }
      FILE * salida;
      char final[256];
      printf("Direccion del archivo de salida \n");
      scanf("%255s", final);
      salida = fopen(final, "r");
      if (salida == NULL) {
          printf("No se pudo acceder al archivo de salida \n");
          exit(1);
      }
      int cantidad = conteo(entrada);
      Libro * trabajo;
      trabajo = (Libro * ) malloc(sizeof(Libro) * cantidad);
      datos(entrada, trabajo, cantidad);
      menor(entrada, salida, trabajo, cantidad);
      return 0;
  }
  
  int conteo(FILE * _entrada) {
      char auxiliar1[100];
      int conteo = 0;
      while (!feof(_entrada)) {
          fgets(auxiliar1, 100, _entrada);
          conteo++;
      }
      rewind(_entrada);
      return (conteo / 5);
  }
  
  void datos(FILE * _entrada, Libro * _trabajo, int cantidad) {
      char auxiliar2[100];
      char * token;
      while (!feof(_entrada)) {
          fgets(auxiliar2, 100, _entrada);
          token = strtok(auxiliar2, ":");
          token = strtok(NULL, ":");
          (_trabajo - &gt; nombre) = strdup(strtok(token, "\n"));
  
          fgets(auxiliar2, 100, _entrada);
          token = strtok(auxiliar2, ":");
          token = strtok(NULL, ":");
          (_trabajo - &gt; editorial) = strdup(strtok(token, "\n"));
  
          fgets(auxiliar2, 100, _entrada);
          token = strtok(auxiliar2, ":");
          (_trabajo - &gt; valor) = atoi(strtok(NULL, ":"));
  
          fgets(auxiliar2, 100, _entrada);
          token = strtok(auxiliar2, ":");
          (_trabajo - &gt; area) = atoi(strtok(NULL, ":"));
  
          fgets(auxiliar2, 100, _entrada);
          token = strtok(auxiliar2, ":");
          (_trabajo - &gt; vendido) = atoi(strtok(NULL, ":"));
      }
  }
  
  
  
  
  void menor(FILE * _entrada, FILE * _salida, Libro * _trabajo, int cantidad) {
      int i;
      int menor = 0;
      int posicion = 0;
      for (i = 0; i &lt; cantidad; i++) {
          if ((_trabajo - &gt; area) == 1) {
              menor = (_trabajo - &gt; vendido);
              _trabajo++;
          }
      }
      _trabajo--;
      fprintf(_salida, "%s", (_trabajo - &gt; nombre));
  }
  </code></pre>