Ich habe ein Unterprogramm für HW PWM geschrieben, damit ich mir die
Namen der einzelnen Bits nicht merken muss.
Jetzt habe ich kompiliert und er spuckt mir folgende Fehlermeldung aus:
Description
comparison with string literal results in unspecified behavior
Brocken Sei schrieb:> Ich habe ein Unterprogramm für HW PWM geschrieben, damit ich mir die> Namen der einzelnen Bits nicht merken muss.
Wenn man keine Probleme hat, macht man sich welche :-)
PWM einmal einstellen, und es passt.
Dafür braucht man dann keine Spezialfunktion, die aus irgendwelchen
Strings rauslesen soll, was du einstellen willst.
Nur meine Meinung. :-)
Floh schrieb:> Brocken Sei schrieb:>> Ich habe ein Unterprogramm für HW PWM geschrieben, damit ich mir die>> Namen der einzelnen Bits nicht merken muss.>> Wenn man keine Probleme hat, macht man sich welche :-)> PWM einmal einstellen, und es passt.> Dafür braucht man dann keine Spezialfunktion, die aus irgendwelchen> Strings rauslesen soll, was du einstellen willst.> Nur meine Meinung. :-)
Und wenn schon, dann nimmt man dazu keine Strings her.
Meine Zusatzmeinung.
Karl heinz Buchegger schrieb:> besorg dir endlich ein Buch und lies über Stringverarbeitung nach!
Ich habe dieses Tutorial schon durchgemacht
http://www.tutorials.at/c/c-oder-cplusplus.html
und habe 4 Jahre lang C# Programmiert. Ich weiß zwar dass C# OO ist aber
trotzdem habe ich schon Erfahrungen gemacht, also bitte hör endlich auf
mir falsche Sachen einzureden, es hat nicht sehr viel Sinn mir ein Buch
zu kaufen, da such ich lieber was aus dem Internet, da findet man genug
Hilfen. Und ich schreibe nicht nur Beiträge in Foren, sondern Stichwort
Googlen reicht ganz bestimmt. Aber danke für den Vorschlag Karl, auch
wenns nicht sehr geholfen hat.
Floh schrieb:> Wenn man keine Probleme hat, macht man sich welche :-)> PWM einmal einstellen, und es passt.> Dafür braucht man dann keine Spezialfunktion, die aus irgendwelchen> Strings rauslesen soll, was du einstellen willst.> Nur meine Meinung. :-)
Vielleicht hast du ja recht, das machen viele andere auch so und stützen
das mit deinem Argument, aber ich bin leider einer der anderen Sorte.
Gruß Bro
Brocken Sei schrieb:> Karl heinz Buchegger schrieb:>> besorg dir endlich ein Buch und lies über Stringverarbeitung nach!> Ich habe dieses Tutorial schon durchgemacht> http://www.tutorials.at/c/c-oder-cplusplus.html> und habe 4 Jahre lang C# Programmiert.
Und?
Ich kann auch ein bischen Italienisch. Aber deswegen kann ich noch lange
kein Spanisch. Auch wenn beides romanische Sprachen sind und ihre
Wurzeln im Latein haben.
Leg endlich deinen Stolz ab und akzeptiere, dass du bei C mehr oder
weniger wieder bei 0 anfangen musst. Ansonsten wirst du Schiffbruch
erleiden.
> trotzdem habe ich schon Erfahrungen gemacht, also bitte hör endlich auf> mir falsche Sachen einzureden, es hat nicht sehr viel Sinn mir ein Buch> zu kaufen, da such ich lieber was aus dem Internet, da findet man genug> Hilfen.
Genau das ist der Irrtum.
In C gibts es unzählige kleine Fallen, die dir das Genick brechen
können.
> Und ich schreibe nicht nur Beiträge in Foren, sondern Stichwort> Googlen reicht ganz bestimmt. Aber danke für den Vorschlag Karl, auch> wenns nicht sehr geholfen hat.
Ach. Dann ist also der Link darauf, wie Stringverarbeitung in C wirklich
funktioniert nicht besonders hilfreich? Zugegeben, das ist die absolut
notwendige Kurzform. Aber wenn du damit Schwierigkeiten hast zeigt das
eigentlich nur eines: Du brauchst mehr als alles andere endlich
vernünftige Literatur, die dich systematisch in C einarbeitet.
Hast du den Link wenigstens gelesen?
> also bitte hör endlich auf mir falsche Sachen einzureden
Nicht ich bin es, der auf dem Holzweg ist.
Brocken Sei schrieb:> char Inverted_NotInverted1a[10],
wie willst du denn in 10 Zeichen "NotInverted" reinbekommen? Lies dir
wenigsten mal den abschnitt mit enums aus dem C buch durch. Es macht
wirklich kein sinn soetwas mit string zu erledigen.
Peter schrieb:> Brocken Sei schrieb:>> char Inverted_NotInverted1a[10],>> wie willst du denn in 10 Zeichen "NotInverted" reinbekommen?
Sein Glück ist es, dass diese 10 an dieser Stelle nicht das machen, was
man gemein hin denkt. Die 10 sind hier nur syntaktischer Zucker ohne
weitere Auswirkungen. Für den Compiler steht hier ....
Karl heinz Buchegger schrieb:> Du brauchst mehr als alles andere endlich> vernünftige Literatur, die dich systematisch in C einarbeitet.
Also wenn ich eins in meiner -ich nenns mal so- Techniker Karriere
gelernt habe, dann ist es folgendes: Ich kann es entweder über den
systematischen Weg machen wie das auch bei Schulen unterrichtet wird und
wie du mir gesagt hast, oder ich mache es wie ich es hobbymäßig immer
mache einmal hier, einmal da. Glaub mir es kommt bei beiden das selbe
Ergebnis heraus, außer dass ich bei deiner Theorie (Ich steh natürlich
voll und ganz auf deiner Seite) 10mal länger brauche und nicht alles
lerne was ich brauche und bei meiner löse ich effizient das Problem.
Natürlich geht das eine oder andere wichtige Detail verloren aber
deshalb gibt es ja das Forum.
Da ich hobbymäßig eher meine Methode vorziehe und ich kein Informatiker
bin der wieklich auf höchster Ebene rein softwaremäßige Probleme löst,
würde ich sagen da ich noch eher jung bin und noch in der Ausbildung,
dass ich bei meiner Theorie bleibe.
Und außerdem wenn ich ein Buch kaufen würde wüsste ich nicht welches, da
werden zwar welche empfohlen aber wie oft habe ich ein empfohlenes Buch
gekauft und es war für die Katz.
Gruß Bro
Peter schrieb:> wie willst du denn in 10 Zeichen "NotInverted" reinbekommen?
Hey das habe ich gemacht nachdem ich 20 reingetan habe, reiner Zufall
dass ich das falsche reingepostet habe, sry.
Peter schrieb:> Es macht> wirklich kein sinn soetwas mit string zu erledigen.
Ja ich überleg auch schon einen Umweg über Makros zu machen, aber ich
überlege nur ob das gehen kann(keine Antworten zu dieser These
erwünscht).
Gruß Bro
Brocken Sei schrieb:> Also wenn ich eins in meiner -ich nenns mal so- Techniker Karriere> gelernt habe, dann ist es folgendes: Ich kann es entweder über den> systematischen Weg machen wie das auch bei Schulen unterrichtet wird und> wie du mir gesagt hast, oder ich mache es wie ich es hobbymäßig immer> mache einmal hier, einmal da. Glaub mir es kommt bei beiden das selbe> Ergebnis heraus
Glaube mir. Das tut es nicht.
So wie du das machst, kommt nur riesengroßer Unsinn heraus. Wie zb der
Code den du oben geschrieben hast.
>, außer dass ich bei deiner Theorie (Ich steh natürlich> voll und ganz auf deiner Seite) 10mal länger brauche und nicht alles> lerne was ich brauche und bei meiner löse ich effizient das Problem.
Bei deiner löst du überhaupt kein Problem. Siehe oben.
Das da oben ist nicht nur ein klein wenig falsch. Das ist grundlegend
falsch.
> Natürlich geht das eine oder andere wichtige Detail verloren aber> deshalb gibt es ja das Forum.
Das ist grundsätzlich richtig. Nur geht es dabei eben nicht um 'das eine
oder andere kleine Detail', es geht um Grundlagen! Hast du es jetzt
kapiert? Dein Fehler ist einer von der grundlegenden Natur! Das ist ein
Basiswissenfehler! Das hat nichts mit iregdnwelchen Details zu tun! Das
ist so wie wenn du beim Integrieren laufend Punkt-vor-Strichrechnung
falsch machst. Der Fehler kann einmal passieren, aber wenn er ständig
passiert, dann hat derjenige der ihn macht, offenbar ein grundlegendes
Problem mit einfachster Mathematik. Da hat es dann auch keinen Sinn
mehr, wenn in einem Forum nach irgendwelchen Besonderheiten beim
Integrieren gefragt wird. Zuerst muss Basiswissen Mathematik her!
Und bei dir muss Basiswissen C her.
Wer
1
if(Inverted_NotInverted1a=="Inverted")
schreibt, macht nicht einen kleinen Flüchtigkeitsfehler. Er hat einen
riesengroßen Bock geschossen! Jetzt kapiert?
Und das Gemeine an der ganzen Sache ist das, wenn man die Funktion
testet, und mit den richtig ausgewählten Parametern aufruft, dann kann
es sogar so aussehen als ob alles in Ordnung und korrekt wäre. Klingt
widersinnig, ist aber so. So ist C! Es gibt jede Menge kleine Fallen,
die du nicht einmal siehst, wenn du davor stehst.
> Und außerdem wenn ich ein Buch kaufen würde wüsste ich nicht welches, da> werden zwar welche empfohlen aber wie oft habe ich ein empfohlenes Buch> gekauft und es war für die Katz.
Kernighan & Ritchie
Programmieren in C
Die Bibel schlechthin.
Ausserdem gibts dann noch online ein paar Bücher:
http://openbook.galileocomputing.de/c_von_a_bis_z/