Re: Rückgabe von mehrdimensionalem String in C++

Sebastian Reinhardt <[email protected]>
Newsgroups gmane.user-groups.linux.dresden
Message-ID <[email protected]>
Hallo,

Ich bin mehrere Schritte weiter und möchte zum Schalten der Ausgänge aus 
einem Vector mit eigener Struktur mit Hilfe des Namens die jeweilige 
Pinnummer abrufen bzw. als Substitution in den Funktionen nutzen. Dafür 
habe ich auch schon eine Anleitung gefunden [1], allerdings klappt es 
nicht bzw. ich verstehe die Funktionsweise nicht.

Ich habe folgenden Vector:

----------------------------------------

struct config_values {
         int config_number;
         string config_name;
};

std::vector<config_values> config_vec

----------------------------------------

Als Beispieldaten habe ich folgende Werte:

----------------------------------------

config_vec[1].config_number = 4;

config_vec[1].config_name = led_alarm;

config_vec[2].config_number = 17;

config_vec[2].config_name = led_normal;

config_vec[3].config_number = 18;

config_vec[3].config_name = valve_1;

// usw.........

----------------------------------------

Nun möchte ich z.B. die Funktion "gpioWrite(GPIO_NO,Value)" nutzen, um 
die LED aus- bzw. einzuschalten. Dafür mochte ich die GPIO-Nummer "4" 
durch eine Variable ersetzen, in der die Nummer mit dem Suchstring 
"led_alarm" gefunden wird, da ich per csv-Datei die Nummer neu zuordnen 
kann, ohne das Programm neu zu kompilieren.

Das tollste wäre nat., wenn ich den Befehl 
"gpioWrite(config_vec{"led_alarm"},0}" (das ist nat. kein 
funktionierender Befehl!) aufrufen könnte und der GPIO-Ausgang mit der 
Nummer "4" geschaltet würde.

Könnt ihr mir da noch mal auf die Sprünge helfen? Eine einigermaßen 
verständliche Anleitung würde mir schon reichen.

----

[1] 
https://stackoverflow.com/questions/14225932/search-for-a-struct-item-in-a-vector-by-member-data

-- 
Mit freundlichen Grüßen

Sebastian Reinhardt


LMV
Landmaschinenvertrieb- und Service GmbH
Hauptstrasse 13G
(OT Hartmannsdorf)
01762 Hartmannsdorf- Reichenau

Geschäftsführer:        Sebastian Reinhardt
Amtsgericht:            Dresden
Handelsregisternummer:  HRB 2574
Umsatzsteuer- Identnr.: DE 140461622


Tel:  +49 373 26 1851
Mobil:+49 172 357 3107
Fax:  +49 373 26 86804
Mail: [email protected]
Web:  www.lmv-hartmannsdorf.de
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.