Archiv verlassen und diese Seite im Standarddesign anzeigen : CPU Info auslesen und Speicherzugriffsverletzung
Magicmixer
19-10-2004, 06:36
Hallo ich hab ein kleines Programm geschrieben mit dem ich die CPU Typ ausgeben kann, aber ich bekomme einen Speicherzugriffsfehler zurück, kann mir jemand helfen?
Das Programm sieht so aus:
GetCPUInfo(Result)
{
char strInput;
InputFile = fopen("/proc/cpuinfo","r");
fscanf(InputFile,"%c",strInput);
Result = printf("%c", strInput);
fclose(InputFile);
return Result;
}
Ich mag mich täuschen, aber funktionieren fscanf() und printf() normalerweise mit char*? du benutzt einen char!
Richtig, das funktioniert so nicht.
Versuch's mal so:
GetCPUInfo(Result)
{
char strInput;
InputFile = fopen("/proc/cpuinfo","r");
fscanf(InputFile,"%s",strInput);
Result = printf("%s", strInput);
fclose(InputFile);
return Result;
}
btw: warum gibst du das Resultat der printf-Anweisung zurück?
anda_skoa
22-10-2004, 16:38
Und wo hast du da jetzt deiner Meinung nach den von Boron vorgeschlagenen char*?
Ciao,
_
Moin!
GetCPUInfo(Result)
{
char *strInput;
InputFile = fopen("/proc/cpuinfo","r");
fscanf(InputFile,"%s",&strInput);
Result = printf("%s", strInput);
fclose(InputFile);
return Result;
}
GetCPUInfo(Result)
{
char *strInput;
InputFile = fopen("/proc/cpuinfo","r");
fscanf(InputFile,"%s",&strInput);
....
}
Herrenloser Zeiger auf char, und nicht die Adresse des Zeigers übergeben.
...
char strInput[256];
InputFile = fopen("/proc/cpuinfo","r");
fscanf(InputFile,"%255s",strInput);
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.