C vérifier si le fichier existe

Dans un projet que j'ai à faire dans la norme C89-je vérifier si un fichier existe.
Comment puis-je faire cela?

Je pensais de l'aide

FILE *file;
if ((file = fopen(fname, "r")) == NULL)
{
  printf("file doesn't exists");
}
return 0;

mais je pense qu'il peut y avoir plusieurs cas, alors le fichier n'existe pas, qui le fera fopen == NULL.

Comment dois-je faire? Je préfère ne pas utiliser comprend plutôt .

source d'informationauteur The GiG