J'ai créé un programme que j'ai ensuite utilisé pour créer un fichier à partir de sa sortie, maintenant je veux faire un de plusieurs programmes à exécuter rediriger ce fichier (ou canaliser la sortie de les autres programmes à celui-ci). J'ai utilisé le code suivant comme un test pour le premier programmeErreur piping/redirection à partir d'un fichier ou une commande dans Windows
int main (int argc, char* argv[])
{
long long int n = 0;
char str[100];
while (str != NULL)
{
fscanf(stdin,"%s\0", str);
printf("%lld\t%s\n", n, str);
n++;
}
return 0;
}
Le programme se termine correctement jusqu'à la dernière ligne du fichier redirigé ou de sortie canalisé, qui maintient alors repearing indéfiniment jusqu'à ce que j'arrête l'exécution avec ctrl-c (Les fenêtres). Je ne sais pas pourquoi cela arrive, j'ai essayé de rincer stdin, stdout et tout ce que je pensais et pas de chance.
Qu'est-ce que je fais mal ou manquant?
Merci d'avance.
'str! = NULL' ne peut jamais être faux. Regardez les documents scanf pour voir ce qu'il fait en cas d'erreurs/conditions de fin de flux. – Mat