Uusi struct

Liian vaikeeta

Moi

Mulla on

struct autoItem (
char *nro;
char *moottori;
char *nopeus;
char *kulutus;
.
.
.
)

Haen tiedot autot.csv tiedostosta. Nyt vaan pitäis luoda haetusta rivistä olio, jotenkin näin

struct autoItem *createautoItem (char *s)
(
struct autoItem *pvw;
pvw = new struct autoItem;

//tämä homma sitten mättää, miten se täytetään rivin (line) tiedoilla, kun kaikissa kohdissa ei välttämättä ole tietoa eli
234;tehokas;;nopea.... Eli nuo pitäisi jotenkin tutkia. Ilmeisesti siinä voisi käyttää strdup ja strtok apuna. Mutta vääntäkää nyt joku rautalangasta, miten se tehdään.

//koodi jatkuu
pvw->nro = ...

return pvw;
)

1

627

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • hemmoit

      tarkista että rivi on validi ';' merkkien määrä
      char *nro = strtok(rivi,";");
      char *mootori = strtok(NULL,";"); /* Huomaa NULL */
      ....

      pvw = (struct autoItem *)calloc(1,sizeof(struct autoItem)); /* imho, Älä käytä new operaatoria jos et oikeasti tee C koodia */

      pvw->nro = strdup(nro);
      ...

      ;; välin pitäsi näkyä arvona jonka pituus on 0.

      Huomaa että tuossa on monta osoitinta ja muistin varausta, eli ennen kun vapautat autoItemin joudut vapautamaan jäsenet (tee vaikka freeAuto funktio tai makro) ja tarkista muistin varausten onnistuminen.

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

    Luetuimmat keskustelut

    1. Jussi Halla-aho huolissaan Sofia Virrasta

      Jussihan on vanha vihreä. Onko tässä kyse alkukesän kiimasta, kun aidan toisella puolella oleva vihreä alkaa kiinnostama
      Maailman menoa
      89
      7448
    2. Sofia Virta kadonnut....onko juomassa?

      Virran poissaolo eduskunnasta on herättänyt huomiota. Esimerkiksi Ilta-Sanomat kertoi aiemmin, että Virta on ollut tällä
      Maailman menoa
      117
      6179
    3. Julkista rahaa ei tule antaa senttiäkään yksityisille yrityksille

      Julkinen raha on meidän yhteistä rahaa, ja se raha on tarkoitettu yhteiseen käyttöön, kuten esimerkiksi tuottamaan palve
      Maailman menoa
      158
      4314
    4. Mitä tapahtui?

      Mitä tapahtui keskiviikkoiltana kun oli paljon hälytysajoneuvoja ja mediheli?
      Kiuruvesi
      39
      3022
    5. Tytti Tuppurainen: Suomen pakolaiskiintiö pitäisi nostaa 10 000 vuodessa

      asia on faktaa, noin Tytti sanoi aiemmin. Kun taas Orpon hallitusohjelman mukaisesti Suomen pakolaiskiintiö on pudotettu
      Maailman menoa
      228
      2951
    6. Ensin Henry Novak ja nyt sitten se Irlannin tapaus

      jossa mustaihoinen afrikkalainen mieshenkilö puukottaa valkoihoista maassa makaavaa miestä useita kertoa pään alueelle.
      Maailman menoa
      78
      2866
    7. Halla-aho sivaltaa edustajantyöstään lintsaavaa Sofia Virtaa

      https://www.iltalehti.fi/politiikka/a/937c74d7-f905-4466-b9b4-abd017fe5b63 Kansanedustajan on ilmoitettava poissaolosta
      Maailman menoa
      88
      2577
    8. Islamovasemmistolaisuus - tälläista termiä käytetään

      Termi tarkoittaa alunperin äärivasemmiston ja muslimifundamentalistien liittoa, jonka ytimessä oli antisemitismi. Isl
      Maailman menoa
      90
      2318
    9. Mitä haluaisit sanoa kaivatullesi tänään?

      Mitä ajatuksia hänestä ja tilanteesta ylipäätään 💖
      Ikävä
      186
      2239
    10. Ruotsissa uusi monikulttuurisuusongelma: Mummonraiskuut

      Ilmiö räjähti käsiin ja nyt painetaan paniikkinappulaa. Moni vanhustenhoivayhtiö on joutunut jopa lopettamaan, koska keh
      Maailman menoa
      15
      1777
    Aihe