[Elaboration de Test] : ouverture de fichier
Bonjour, je dois effectuer des tests sur un programme en C, j' ai un petit probleme sur la partie de code suivante. (Je tiens a preciser que ce n'est
pas moi qui ai code le programme, mon travail se resume au test )
Code:
1 2 3 4 5 6 7 8 9
|
...
if(access(argv[1],R_OK)==0) /*check file available for reading*/
{
in = fopen(argv[1], "r"); /* open file for reading */
if(in==NULL) printf("can't open file %s\n", argv[1]);
}
else printf("no file %s, ", argv[1]);
... |
Donc, si mon parametre argv est un fichier qui n'existe pas, le programme m'affiche bien "no file blabla"
Par contre, est ce que c'est possible d'avoir un cas de test dans lequel la fonction access me retourne 0
mais la fonction fopen retourne null ?
Ce que j'ai reussi a faire, c'est inserer un getchar() comme suit :
Code:
1 2 3 4 5 6 7
|
...
if(access(argv[1],R_OK)==0) /*check file available for reading*/
{
getchar();
in = fopen(argv[1], "r"); /* open file for reading */
... |
quand le programme attend sur le getchar(), j' efface mon fichier et donc j'ai mon cas de test. Mais en fait, je dois reussir a tester sans modifier le code.
La solution proposee doit fonctionner sur Linux
Merci à tous
PS: Desole clavier a la noix QWERTY ;)