Hi,
hier kommt das erste kleine C++ Problem für diese Woche: Ich möchte aus einer Datei eine Zahl einlesen. Also habe ich ersteinmal den Betreffenden Bereich der Datei in ein char Array geschrieben, was ja auch funktioniert (daher das cout << RAM). Besser wäre es jedoch wenn das Array ein *RAM[] wäre (ähnlich wie *argv[]). Nur weiss ich leider nicht, wie man in ein solches Array schreiben kann. Ein char *RAM[8]; (...) RAM[8] = fgetc(ptr); gibt folgerichtig ein Segmentation fault. Gibt es eine Möglichkeit das Array so anzulegen? Oder gibt es vielleicht auch eine Möglichkeit ein normales Array (RAM[8]) in eine int Zahl umzuwandeln?
#include <iostream.h> #include <stdio.h> #include <stdlib.h>
int main(int argc,char **argv) { char RAM[8]; FILE *ptr; ptr = fopen("/proc/meminfo","r"); fseek(ptr,166,0); for(int i=0; i<=8; i++) { RAM[i] = fgetc(ptr); cout << RAM[i]; } fclose(ptr); return 0; }
Das Programm soll mir die Menge des vorhandenen Hauptspeichers aus der /proc/meminfo zur Weiterverarbeitung auslesen.