La lecture d'une ligne à la fois en C
La méthode peut être utilisée pour lire une ligne à la fois à partir d'un fichier en C?
Je suis en utilisant le fgets fonction, mais cela ne fonctionne pas.
C'est la lecture de l'espace séparé de token.
Quoi faire?
Si vous n'avez pas vraiment envie de lire une ligne, vous voulez le lire jusqu'à ce qu'un espace est rencontré? Ou dites-vous que fgets est de s'arrêter sur des espaces au lieu des retours à la ligne?
devrait s'arrêter sur le caractère de nouvelle ligne.
Voici ma contribution:: DÉMARRER UN DC 10 B DS 20 ARRÊTER j'ai eu:: DÉMARRER UN B ARRÊT que ma sortie..
devrait s'arrêter sur le caractère de nouvelle ligne.
Voici ma contribution:: DÉMARRER UN DC 10 B DS 20 ARRÊTER j'ai eu:: DÉMARRER UN B ARRÊT que ma sortie..
OriginalL'auteur Mahesh Gupta | 2010-03-03
Vous devez vous connecter pour publier un commentaire.
Cela devrait fonctionner, lorsque vous ne pouvez pas utiliser
fgets()
pour une raison quelconque.C'est étrange, je peux utiliser
printf("%s\n", buffer);
et sorties de l'ensemble de la mémoire tamponouai, étrange, pour moi aussi. parce qu'il a travaillé pour tous les programmes précédents... :'(
Êtes-vous sûr que votre fichier ne contient pas les terminateurs de chaîne?
OriginalL'auteur LukeN
Utiliser le programme suivant pour obtenir le ligne par ligne à partir d'un fichier.
OriginalL'auteur rekha_sri
Si vous êtes le codage d'une plate-forme qui a la bibliothèque C de GNU disponible, vous pouvez utiliser getline():
http://www.gnu.org/s/libc/manual/html_node/Line-Input.html
OriginalL'auteur Ant
La
fgets
fonction va lire une seule ligne à partir d'un fichier ounum
de caractères oùnum
est le deuxième paramètre passé àfgets
. Êtes-vous le passage d'un assez grand nombre pour lire la ligne?Par Exemple
Vs.
Fausse déclaration de la variable de tableau!
Cool! Vous fixe! 😛 bon, je upvoted après downvoting de 0 à -1, alors upvoted que vous rectifiée, pour le ramener à zéro, au lieu de cela, il a bondi à 1...est-ce mon navigateur ou un glitch?
Pour revenir à votre downvote, cliquez sur le downvote nouveau sur le bouton. Downvote puis upvote != ni downvote ni upvote.
de quoi êtes-vous sur le sujet? Il y a 6 ans....
OriginalL'auteur JaredPar
C'est plus un commentaire qu'une réponse complète, mais je n'ai pas assez de points pour commentaire. 🙂
Voici le prototype de fonction de fgets():
Il va lire n-1 octets ou jusqu'à un retour à la ligne ou expressions du folklore. Pour plus d'info voir ici
OriginalL'auteur Mike Yam
fgets()
devrait être la voie à go ...Tom: Qu'est ce que le deuxième paramètre est pour, pour éviter de saturer la mémoire tampon. Ou voulez-vous dire de ne pas prévoir un assez grand tampon? Autant que je me souvienne, mon compilateur C de a une de 512 octets limite sur des lignes individuelles.
Qui compilateur C est qui?. Et je pense le cas où vous ne savez pas combien de temps la ligne e.g stdin. Ne pas essayer de lancer une guerre sainte.
OriginalL'auteur Didier Trosset
utiliser
fgets
si vous savez que vos lignes à tenir dans la mémoire tampon ou utiliserfgetc
pour plus de contrôle sur la lectureOriginalL'auteur Andrey
Utilisation
fgets
à lire à partir de la ligne, et ensuite utilisergetc(...)
à mâcher le saut de ligne ou de fin de ligne pour continuer la lecture....voici un exemple de forever de la lecture d'une ligne...OriginalL'auteur t0mm13b
Source d'Erreur:
Fait, c'était pas de ma faute..
Dans ce cas .
J'ai été en utilisant la fonction strtok et et accidentellement modifié mon origine, mon chaîne d'origine.
Donc lors de l'impression, j'obtenais l'erreur...
Merci à Tous de m'Aider.. 🙂
OriginalL'auteur Mahesh Gupta
Vous pouvez utiliser fscanf au lieu de fgets. Parce que fgets fscanf pour les caractères y compris les espaces), mais tout en utilisant fscanf vous pouvez accéder aux données enregistrées dans un fichier.par exemple il y a un fichier ayant le nom de la classe de rouler.maintenant déclarer une chaîne de caractères et deux entiers ligne.
OriginalL'auteur coderboy