Estoy aprendiendo cómo utilizar el Archivo de e/S con C.

Este es el código en mi archivo de prueba.c

#include <stdio.h>
#include <stdlib.h>

int main()
{
    File *fp;
    char *mode = "r";
    fp = fopen("testFile", mode);
    if(fp == NULL) {
        fprintf(stderr, "Can't open input file testFile\n");
        exit(1);
    }
}

Cuando puedo compilar mi código de uso : gcc-o prueba prueba.c

Me sale el error :

atria:~/471/a4> gcc -o test test.c
test.c: In function main’:
test.c:6:5: error: unknown type name File
     File *fp;
     ^
test.c:10:8: warning: assignment from incompatible pointer type [enabled by default]
     fp = fopen("testFile", mode);
        ^

Pensé que tal vez yo era la utilización incorrecta de archivo de encabezado, pero he incluido stdio.h

¿Alguien tiene alguna idea de por qué estoy recibiendo este error? Gracias de antemano

  • El tipo es FILE capitales.
  • Sólo por curiosidad, ¿has visto lo escrito File en algún lugar?
  • man fopen habría respondido a esta pregunta en un par de segundos.
InformationsquelleAutor Andrew Q | 2015-04-14

2 Comentarios

  1. 2

    Código corregido:

    #include <stdio.h>
    #include <stdlib.h>
    
    int main() {
        FILE * fp = fopen("testFile", "r"); //Correct statement to open a file
        if(fp == NULL) {
            fprintf(stderr, "Can't open input file testFile\n");
            exit(1);
        }
    }

Dejar respuesta

Please enter your comment!
Please enter your name here