Zum Inhalt springen

"Speicherzugriffsfehler" - Woher kommt er?


Empfohlene Beiträge

Geschrieben

Hallo

Bin mit meinem Latein am Ende, da ich nicht weiß, was zur Hölle ich hier auch immer falsch gemacht habe. Nach der Ausgabe des Systemaufrufs (yeah, es klappt :D ) kommt die Ausgabe: "Speicherzugriffsfehler". Hmpf.

Hier der Code:

#include<iostream>

#include<string>

using namespace std;


int main(int argc, char *argv[])

{

	char infoModel[23];


	strcpy(infoModel, "cat /proc/ide/");

	strcat(infoModel, argv[1]);

	strcat(infoModel, "/model");


	system(infoModel);

}
Ausgegeben wird, wie schon erwähnt:

TOSHIBA MK1517GAP

Speicherzugriffsfehler

Ich bedanke mich wie immer schon im Voraus für eure Antworten.

Gruss

Is it Real

Geschrieben

GNAAA! Erschlagt mich jetzt bitte nicht, aber ich hatte mich einfach verzählt -.- Das Array muss keine 23 sondern 24 Felder haben - do'h!

*verkriecht sich in ein Loch und hofft, dass es keiner mitbekommen hat*

Geschrieben

Gute Frage...

Öhm, ja, Abfrage einbauen und Fehler ausgeben lassen?

Das wurde eh fallen gelassen. Ich habs als Shellscript gelöst, ist einfach angenehmer. Dafür muss ich jetzt die Ausgabe eines anderen Programms auswerten, aber da finde ich noch einen Weg (muss ne Zahl suchen, die immer nach dem gleichen String steht aber dafür unterschiedlich lang sein kann - dich dachte mit ner schleife und isdigit - wird schon klappen, aber momentan hab ich den Kopf nur noch voll mit Funktionen und Code und und und... Nah, ich mach ne Codingpause und dann geht es frischen Mutes weiter).

Am Ende steht dann ein "Script", dass alle an einem System angeschlossene Festplatten auf Fehler überprüft und, falls keine gefunden wurden, sicher formatiert. Hoffe ich zumindest...

Danke für eure Antworten und besonderen Dank an Guybrush, ich fühl mich nur noch halb so dämlich :bimei

Geschrieben
Jah, aber das war in dem Fall und nach meinem Kenntnisstand nicht möglich, da system("") einen const char* will....

Was hast du gegen std::string::c_str()?

Geschrieben

c_str liefert einen pointer von typ char (char*) auf den std::string, beziehungweise auf dessen erstes Zeichen. da sowohl char als auch string(on diesem Falle) nullterminiert sind wird dann ein string als char* behandelt

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...