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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
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.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 */ ...
La solution proposee doit fonctionner sur Linux
Merci à tous
PS: Desole clavier a la noix QWERTY![]()
Partager