Hallo Zusammen,
ich möchte in einer Schleife mehrere IO-Expander deklarieren
int i;
for(i=0; i<5; i++) {
char* Ex = "Expander";
strcat(Ex,i);
char* Ad = "Adresse";
strcat(Ad,i);
MCP23S17 Ex = MCP23S17(spi, p20 , Ad );
}
So sollte es Aussehen.
Funktionieren wird es natürlich nicht, jetzt kommt Ihr ins spiel ich
benötige einen Schupser zur Lösung.
besten Dank im voraus
Dirk
strcat hängt eine Zeichenkette an eine andere an. Du machst hier zwei
Fehler:
1) Deine Ziel-Variable hat gerade genug Platz für die initiale
Zeichenkette ("Expander", "Adresse"). Du musst sie so deklarieren, dass
mehr Speicherplatz reserviert wird, um Platz für die anzuhängende
Zeichenkette zu reservieren.
2) i its keine Zeichenkette sondern ein Integer.
Danach deklarierst du eine neue Variable mit dem gleichen Namen
(MCP23S17 Ex), das ist nicht zulässig. Variablen brauchen eindeutige
Namen.
Ich würde Dir empfehlen, alle Compiler Warnungen zu aktivieren (Compiler
Option -Wall) und diese auch zu zeigen, wenn du dazu Fragen hast. Denn
so Sätze wie "geht nicht" sind keine gültige Fehlermeldung. Das kannst
du in der Autowerkstatt auch nicht bringen.
Beitrag #5766134 wurde von einem Moderator gelöscht.
Was du eigentlich machen willst, ist übrigens weder an deinem Text noch am Quellcode erkennbar.
Array mit Initialisierungsliste. Nix in Schleife erstellen. Alternativ: Pointer Array und Objekte mit new in Schleife erzeugen.
Dirk S. schrieb: > Funktionieren wird es natürlich nicht, jetzt kommt Ihr ins spiel ich > benötige einen Schupser zur Lösung.
1 | char Ex[GROSS_GENUG]; |
2 | sprintf(Ex, "Expander%d", i); |
Dirk S. schrieb: > benötige einen Schupser zur Lösung. Besorge Dir ein gutes Buch über die Programmiersprache C oder besser noch C++. C ist nicht grade als für Einsteiger freundlich bekannt.
Jim M. schrieb: > Dirk S. schrieb: >> benötige einen Schupser zur Lösung. > > Besorge Dir ein gutes Buch über die Programmiersprache C oder besser > noch C++. C ist nicht grade als für Einsteiger freundlich bekannt. Einsteigern kann ich für das erste Wochenende die Anleitung von Arduino empfehlen. Da ist das allerwichtigste so kurz und knapp beschrieben, wie nur möglich. Man sollte nur bedenken, dass es danach noch mehr zu lernen gibt. Also nicht an dieser Stelle aufhören und als "Experienced Senior Embedded Developer" ahnungslose Firmen beraten.
Danke für die konstruktiven Kommentare. Ich werde eure Kommentare beherzigen und versuchen sie umzusetzen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.