lire des données à partir d'un fichier jusqu'à la fin de la ligne en C/C++
Il est fréquent de lire jusqu'à la fin du fichier, mais je suis intéressé à savoir comment pourrais-je lire des données (une série de chiffres) à partir d'un fichier texte jusqu'à la fin d'un ligne? J'ai eu la tâche de lire plusieurs séries de nombres à partir d'un fichier, qui sont placés dans de nouvelles lignes. Voici un exemple d'entrée:
1 2 53 7 27 8
67 5 2
1 56 9 100 2 3 13 101 78
Première série: 1 2 53 7 27 8
Seconde: 67 5 2
Troisième: 1 56 9 100 2 3 13 101 78
Je dois les lire séparément à partir d'un fichier, mais chacun d'eux jusqu'à la fin de la ligne. J'ai ce code:
#include <stdio.h>
FILE *fp;
const char EOL = '\ #include <stdio.h>
FILE *fp;
const char EOL = '\\0';
void main()
{
fp = fopen("26.txt", "r");
char buffer[128];
int a[100];
int i = 0;
freopen("26.txt","r",stdin);
while(scanf("%d",&a[i])==1 && buffer[i] != EOL)
i++;
int n = i;
fclose(stdin);
}
';
void main()
{
fp = fopen("26.txt", "r");
char buffer[128];
int a[100];
int i = 0;
freopen("26.txt","r",stdin);
while(scanf("%d",&a[i])==1 && buffer[i] != EOL)
i++;
int n = i;
fclose(stdin);
}
Il lit jusqu'à la fin du fichier, de sorte qu'il ne fait pas du tout ce à quoi je m'attends. Que proposez-vous?
Aucune raison particulière d'utiliser freopen et de les lire depuis l'entrée standard stdin?
OriginalL'auteur Eszter | 2012-12-22
Vous devez vous connecter pour publier un commentaire.
Utilisation fgets() de lire une ligne entière, puis analyse la ligne (éventuellement avec strtol()).
Vous pouvez voir la l'exécution de code à ideone.
OriginalL'auteur pmg
L' \n devrait être la fuite de nouvelle ligne, essayez plutôt ceci
u ne le faire fonctionner? cela devrait vous aider:
OriginalL'auteur rbtLong