Fallo en c,¿que hago mal?

Necesito leer un fichero por filas,y almacenar cada fila en un vector de tipo char,una cadenas vamos...he echo esto pero no me falla al ejecutarlo,pero no da errores de compilación y no tengo ni idea de que le pasa.
#include <stdio.h>
#include <stdlib.h>

/*
*
*/
int main(int argc, char** argv) {
    FILE *fp;
    fp=fopen("fichero.txt","r");
    char vector[30];
    int i=0;
    if(fp!=NULL){
        while(fgets(vector,30,fopen)!=NULL){
            puts(vector);
        }
           
    }else
        printf("fallo");
    return (EXIT_SUCCESS);
}
El error lo tienes en:
zaius5 escribió:while(fgets(vector,30,fopen)!=NULL){

Ese fopen es fp.
1 respuesta