std string ja Qt

kjbnkj

Teen C ohjelman ydintä Code Blocksilla ja käyttöliittymän Qtn C :lla.
Ydintä teen ihan vain console ohjelmana ja tarkoituksena on pitää ydin ja käyttöliittymä ohjelman kehityksen aikana selvästi erillään.

Joitakin muuttujia, tai enemmänkin vakioita olen määritellyt näin:
#define Accident 4

Debuggauksen vuosi haluan laittaa joitakin muuttujia stringeiksi jotta niiden sisältö näkyisi debuggerissa, muutoinhan tuo näkyy vain nelosena. Toisekseen niitä pitäisi pystyä koodissa vertailemaan yhtä yksinkertaisesti kuin kokonaislukuja.

Minkä kirjaston stringiä kannattaisi käyttää ettei linkitysongelmia tulisi myöhemmin vastaan?

5

338

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • Affiliate-Julkaisia

      #include <iostream>

      using namespace std;

      #define KORVATTAVA "korvaava teksti, joka tulee sanan KORVATTAVA tilalle"
      #define luku 12

      int main()
      {
      int a;
      int b;

      a = 11;
      b = a luku;

      cout << KORVATTAVA << endl;
      cout << int(b) << endl;

      return 0;
      }

      http://paste.ofcode.org/JAgNLQZWd6unbrZveJWZsL


      #define = Makron määrittely, merkkijonot lainausmerkkien sisään, luvut ilman.
      Tuskin ymmärsin oikein.

    • kjbnkj

      definellä on siis esikääntäjä muuttanut selkokielisen tekstin int tyyppiseksi joka sopii hyvin vertailuun == , != jne. enimmäkseen ehtolauseissa, koodissa on saanut käyttää selkokielisiä muuttujia.

      Oikeastaan ois pitänyt kysyä minkä kirjaston string ois helppo käyttöisin ja pelais yhteen CodeBlockin ja Qtn kanssa, ja käytettävien kirjastojen määrä pysyisi minimissä.

      CString, std::string ja mitä niitä onkaan open source puolella?

      • Affiliate-Julkaisia

        En osaa vastata tuohon.


      • 102030405060

        Jossei std:string kelpaa, niin Qt:n QString kyllä on erittäin helppo käyttöinen.


    • viuh-vauh

      Jossei ole mitään erittäin hirveän tärkeän oleellista ja ylitsepääsemätöntä syytä olla käyttämättä QStringiä kaikkialla, niin kannattaa ottaa QString kaikkialla käyttöön jo heti alkuunsa. Qt:llä tehty käyttöliittymä käyttää kuitenkin QStringiä, ja merkkijonojen muuntelu std::stringin ja QStringin välillä on vain turhaa ylimääräistä rumbaa, minkä kyllä huomaa projektin edetessä.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Jos venäjällä olisi kansan valitsema presidentti, olisiko Ukrainan sotaa?

      Ei varmasti olisi. Sehän on tiedossa, että raskaalla vaalivilpillä putin jatkaa pressana.
      Maailman menoa
      276
      3951
    2. Riikka jytkytti naftan hinnan jo yli 2,3 euroon

      Sannan aikaan esimerkiksi dieseliä selvästi kalliimpaa bensaakin sai 1,3 eurolla. https://www.is.fi/autot/art-200001188
      Maailman menoa
      97
      3600
    3. Vasemmiston feministinaiset puolustavat islamia

      mikä on täysin järjenvastaista, mutta eihän femakoilla paljon järkeä olekkaan, leijuvat siellä omassa kuplassaan. Myös
      Maailman menoa
      167
      2588
    4. Päivän Sanna: Suomi maailman onnellisin maa

      Sanna muutti Suomen maailman onnellisimmaksi maaksi. Hänen pyyteetön työnsä maailmalla tuottaa edelleen tulosta.
      Maailman menoa
      37
      2368
    5. Ei se halua mitään!!

      Arkailija koko tyyppi!
      Ikävä
      62
      2345
    6. Jätän tähän viesti kaivatullesi

      jos jotain jäänyt sanomatta. 👇
      Ikävä
      154
      1922
    7. Olet kyllä erittäin huono yhdistelemään pisteitä.

      Etkä vain sinä vaan kaikki teilläpäin.
      Ikävä
      34
      1727
    8. Onko jo liian "vanha" vai mitä mieltä olet? 57-v. saa raakaa tekstiä tv:ssä

      The Summit Suomi tv-ohjelmassa 57-vuotiaan Maritan jaksamista kyseenalaistettiin iän takia. Onko tässä iässä jo liian "v
      50 plus
      31
      1307
    9. Etkö sitten itse

      ole koskaan ylittänyt rajaa?
      Ikävä
      35
      1300
    10. Mitä järkeä iskeä

      Varattua ja yrittää saada sitä eroamaan
      Ikävä
      46
      1212
    Aihe