numérisation jusqu'à ce que EOF en c

Je suis en train d'écrire un programme de décryptage et j'ai besoin de numériser un nombre inconnu de chaînes et de décoder chaque corde comme il est entré. Le programme doit se terminer une fois qu'il atteint les expressions du FOLKLORE.

J'ai de la difficulté à faire le programme à la fin. quand je scan dans le premier caractère dans la chaîne de caractères dans ma boucle while de l'état, il est en train de faire cela, mais lorsque je le recherche dans la chaîne ci-dessous l'état de la chaîne est à côté de la première char. Dois-je scan dans le premier char, puis en quelque sorte mettre ce char au début de la chaîne?

Comment puis-je tester correctement pour les expressions du FOLKLORE dans ma situation?

#include <stdio.h>
#include<string.h>

int main(void)
{
    int i;
    char code[300];

    while(scanf("%c", &code[0])!=EOF)
    {
        scanf("%s", code);

        for(i=0; i<strlen(code); i++)
        {
            decrypt message one char at a time
        }
        printf("\n");
    }
    return 0;
}
Quel est exactement de mal avec while(scanf("%s", code) != EOF)?
Quel est le problème avec cela est que les expressions du FOLKLORE n'est pas le bon test ... n'est pas quelqu'un de lire la documentation?
Une idée à la fois s'il vous plaît. Il n'est pas le bon test en général, mais OK pour %s.
"Une idée à la fois s'il vous plaît" -- de Telles absurdités. Vous avez demandé ce qui n'allait pas et j'ai répondu. "mais OK pour %s" -- Mal.

OriginalL'auteur country_dev | 2013-04-07