Bonjour tous,
Je suis entrain de faire un script pour lire le contenu du fichier /proc.
En effet, ce sont les pid qui m'intéressent et je les range dans un tableau.
Le problème, c'est que qd je fais fichier = cat /proc il me met un message d'erreur lors de la compile.
voici le script
#include<stdio.h>
#include<string.h>
#include <stdlib.h>
typedef struct {
int nb1;
int nb2;
char t1[40];
char t2[40];
char t3[40];
char t4[40];
}bloc;
int nblignefichier(char arg2[40])
{
int n = 0; /* nombre de lignes lues */
char ligne[256];
FILE *f = fopen( arg2, "r" ); /* ouvre en lecture */
if (f==NULL) {
printf("erreur ouverture\n" );
return 0; /* sort du programme (code erreur 1) */
}
while (fgets( ligne, 256, f ) != NULL) { /* essai lecture ligne */
n++;
}
fclose(f); /* ferme le fichier */
return n;
}
int main(void)
{
int i,a,taille,pos1;
/* Sélectionner le fichier*/
printf("Entrer la commande 'cat /proc'" );
fichier = = cat /proc
FILE* lecture = fopen("fichier","r" );
taille = nblignefichier("fichier" );
//création du tableau de taille "taille"
bloc b[taille];
char nb[255];
//remplissage du tableau
for(i=0;i<taille;i++)
{
fscanf(lecture, "%s", &nb);
b[i].nb1 = atoi(nb);
fscanf(lecture, "%s", &nb);
b[i].nb2 = atoi(nb);
fscanf(lecture, "%s", &b[i].t1);
fscanf(lecture, "%s", &b[i].t2);
fscanf(lecture, "%s", &b[i].t3);
fscanf(lecture, "%s", &b[i].t4);
}
fclose(lecture);
//affichage du tabeau
for(i=0;i<taille;i++)
{
printf("%d %d %s %s %s %s\n",b[i].nb1,b[i].nb2,b[i].t1,b[i].t2,b[i].t3,b[i].t4);
}
system("PAUSE" );
// la 1er colonne s'obtient avec b[i].nb1
// la 2e colonne s'obtient avec b[i].nb2
return EXIT_SUCCESS;
}
Merci de m'aider.