FenrisC0de Skrevet 21. august 2009 Del Skrevet 21. august 2009 Har en liten oppgave her som lyder som følger: Vi ønsker et C-program som skriver ut følgende systeminformasjon: - prosessortype (tips: filen /proc/cpuinfo) - operativsystem og ”release” (tips: filer under /proc/sys/kernel/) - Tider for hvor lenge cpu’en har vært i user mode og system mode. I forbindelse med de sistnevnte tidene antas disse gitt i antall sek. (tips: /proc/stat) - Antall context switchinger (ctxt) som har funnet sted - Total minnekapasitet og hvor mye ledig minne som er på din maskin (tips: meminfo). Har følgende så langt, men vet ikke helt hva jeg skal videre.. char *sample(char *fileName, const int lineNo, const int charNo) { char ch; char pathName[MAX_PATHNAME] = "/proc/"; char *buf; //dette er et array av karakterer int i, j; FILE *fid; strcat(pathName, fileName); fid = fopen(pathName, "r"); for (i = 0; i < lineNo; i++) for (j=0;;j++) { ch = getc(fid); // Span leading lines if(ch == '\n') break; } for (i = 0; i < charNo; i++) ch = getc(fid); // Span leading chars i = 0; ch = ''; buf = (char *) malloc(MAX_BUF_LINE); while (ch != '\n') { ch = getc(fid); buf[i++] = ch; } buf[i-1] = ''; close(fid); return buf; } Takker for all hjelp! Lenke til kommentar
FenrisC0de Skrevet 21. august 2009 Forfatter Del Skrevet 21. august 2009 Fikk det til: /* Fil: systeminfo.c Version: 1.0 Forfatter: Edvard Heiberg Holst Dato: 21.08.09 Beskrivelse: Skriver ut diverse informasjon om systemet */ #include <stdio.h> #include <string.h> #include <stdlib.h> #define MAX_PATHNAME 64 #define MAX_BUF_LINE 80 char *sample(char *fileName, const int lineNo, const int charNo) { char ch; char pathName[MAX_PATHNAME] = "/proc/"; char *buf; //dette er et array av karakterer int i, j; FILE *fid; strcat(pathName, fileName); fid = fopen(pathName, "r"); for (i = 0; i < lineNo; i++) for (j=0;;j++) { ch = getc(fid); // Span leading lines if(ch == '\n') break; } for (i = 0; i < charNo; i++) ch = getc(fid); // Span leading chars i = 0; ch = ''; buf = (char *) malloc(MAX_BUF_LINE); while (ch != '\n') { ch = getc(fid); buf[i++] = ch; } buf[i-1] = ''; close(fid); return buf; } main () { printf("\nCPU Model: %s \n", sample("cpuinfo", 4, 12)); } Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå