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.