problem mit struct



  • CStoll schrieb:

    Drittens: Das C-Board ist eine Etage weiter oben.

    Das ist kein C.



  • Bashar schrieb:

    CStoll schrieb:

    Drittens: Das C-Board ist eine Etage weiter oben.

    Das ist kein C.

    Was dann? Das einzige C++-artige, was ich an dem Code sehe, ist das "SensorClass &sensor" im Funktionskopf - und die Tatsache, daß er "Sensor_st" ohne struct-Kennung verwendet.



  • CStoll schrieb:

    Das einzige C++-artige, was ich an dem Code sehe, ist das "SensorClass &sensor" im Funktionskopf - und die Tatsache, daß er "Sensor_st" ohne struct-Kennung verwendet.

    Reicht das nicht?



  • Bashar schrieb:

    Reicht das nicht?

    Es reicht aus, damit ich dem Thread nicht gleich einen Schubs ins C-Board verpasse 😃 Aber es ist zu wenig, um das Problem als C++ typisch einzuordnen.



  • Dann brauchen wir ein Board für C++-Probleme, die nicht C++-typisch sind. 😃



  • Bashar schrieb:

    Dann brauchen wir ein Board für C++-Probleme, die nicht C++-typisch sind. 😃

    Ich denke, CStoll wollte dem Threadsteller eher einen Schubs in die Richtung geben, sauberen Code zu schreiben.



  • CStoll schrieb:

    Erstens: Ich hoffe mal, die doppelten Klammern [[ bei Version B sind nur ein C&P-Fehler.

    Zweitens: Am Ende der for(i=j=0)-Schleife steht i auf 90 und j (wenn ich das richtig überblicke) auf 45 - da schreibst du jenseits des verfügbaren Arrays. Und das timestamp-Feld ist ebenfalls zu klein für die Daten, die du reinpacken willst (daß sprintf() auch Zahlenwerte verarbeiten kann, ignorieren wir mal ;))

    Drittens: Das C-Board ist eine Etage weiter oben.

    Ersten: ja, sonst wuerd ja garnix gehen^^

    zweitens: danke (hab die anfang und strings vergessen mit dazu zu zaehlen), werds verbessern
    sprintf() macht mir aber keine 0'len davor. also wuerde halt 1:4:2 statt 01:04:02 rauskommen, oder gibts da schon was fertiges?

    drittens: stimmt, wollte anfangs die ganze klasse und noch paar sachen dazu kopieren, aber dann gemerkt das ich fuer den fehler irrelevant sind

    Konrad Rudolph schrieb:

    Bashar schrieb:

    Dann brauchen wir ein Board für C++-Probleme, die nicht C++-typisch sind. 😃

    Ich denke, CStoll wollte dem Threadsteller eher einen Schubs in die Richtung geben, sauberen Code zu schreiben.

    Immer gerne 😉 programmiere eigentlich mehr auf mikrocontrollern
    wobei die funktion noch der prototyp ist und ich die gerade optimieren will und jetzt eben am den dem struct haenge.



  • sash schrieb:

    zweitens: danke (hab die anfang und strings vergessen mit dazu zu zaehlen), werds verbessern
    sprintf() macht mir aber keine 0'len davor. also wuerde halt 1:4:2 statt 01:04:02 rauskommen, oder gibts da schon was fertiges?

    Ja, die printf-Formatierungen sind zwar reichlich kryptisch, aber auch recht mächtig - für deine Zwecke sollte %02d die richtige Formatkennung sein.

    Konrad Rudolph schrieb:

    Bashar schrieb:

    Dann brauchen wir ein Board für C++-Probleme, die nicht C++-typisch sind. 😃

    Ich denke, CStoll wollte dem Threadsteller eher einen Schubs in die Richtung geben, sauberen Code zu schreiben.

    Ja, darauf wollte ich hinaus - der Code sah aus wie von einem C-Programmierer, der jetzt krampfhaft versucht, sein Wissen 1:1 in C++ umzusetzen.



  • printf() mit%02 funktioniert 🙂
    und der fehler kam, weil ich uebers array hinaus geschrieben hab.

    ich weiss jetzt nicht was man hier c++ typisch machen koennte, mir fallen nur ein paar kleine "optimierungen auf:
    koennte die konstanten fuer die berechnung definieren und die 5 objekte in einer schleife berechnen lassen



  • sash schrieb:

    ich weiss jetzt nicht was man hier c++ typisch machen koennte, mir fallen nur ein paar kleine "optimierungen auf:
    koennte die konstanten fuer die berechnung definieren und die 5 objekte in einer schleife berechnen lassen

    Diese Optimierungen sind zwar durchaus brauchbar, aber nicht C++ typisch 😉
    Ich meinte eher, du solltest Sachen wie std::string oder std::vector<> verwenden anstelle der nackten Arrays.


Anmelden zum Antworten