lecture d'un fichier texte
salut tt le monde,
dans mon application, je lis un fichier texte qui ressemble à ca :
Code:
1 2 3 4 5 6 7 8 9 10 11
|
Name OpSys Arch State Activity LoadAv Mem ActvtyTime
FR20023738.co WINNT51 INTEL Unclaimed Idle 0.000 1016 0+01:20:00
FR20041685.co WINNT51 INTEL Unclaimed Idle 0.170 1016 0+01:05:04
Machines Owner Claimed Unclaimed Matched Preempting
INTEL/WINNT51 2 0 0 2 0 0
Total 2 0 0 2 0 0 |
Je desire récupérer les informations contenues dans les lignes du milieu (celles qui commencent par FR200...). Sachant que le nombre de ces lignes est variable et que leur nombre est indiqué par Total. J'ai donc écrit un bout de code pour retrouver ce total :
Code:
1 2 3 4 5 6 7 8
| fseek( pFile, 0L, SEEK_SET );
int poolSize;
char buffer[100];
while (fscanf(pFile,"%s", buffer)!=EOF)
{
if (strcmp(buffer, "Total") == 0)
fscanf(pFile, "%d", &poolSize);
} |
Par contre, je bloque sur la manière de récupérer les lignes en question, puis leur découpage...
J'ai écrit cela :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| char line[100];
int lCount = 0;
while ( fgets(line, 100, pFile) )
{
if (lCount >= 3 && lCount <= 3+poolSize)
{
istringstream iss( line );
}
++lCount;
} |
Mais ca ne marche pas... Et puis de toute facon, je sais pas comment mettre la ligne courante dans une variable sachant que le nb de ligne (et donc le nombre de variable est inconnue avant l'execution du programme)
:(