Ouverture d'un fichier par une fonction.
Salut!:D
Supposons que l'on veuille déléguer à une fonction la tâche d'ouverture d'un fichier avec toutes les vérifications qui vont avec:
Code:
1 2 3 4 5 6
| FILE* f(char* path){
...
FILE* file=fopen(path,"r");
...
return file;
}; |
1)Est-ce "file" se comportera comme n'importe quelle variable locale et donc le renvoyer impliquera un comportement indéterminé?
2)De plus est-ce qu'un fichier ouvert dans une fonction le restera à la sortie de la fonction?
Si la réponse à 1) est oui alors est-ce que:
Code:
1 2 3 4
| FILE** file=malloc(sizeof(*file));
*file=fopen(path,"r");
...
return file; |
est correct et est-ce que le fichier restera toujours ouvert en dehors de la fonction?
Merci de vos réponses.:D