C-fejlesztés, KDevelop, stb…

Kezdőlap Fórumok Programozás C-fejlesztés, KDevelop, stb…

10 bejegyzés megtekintése - 71-80 / 185
  • Szerző
    Bejegyzés
  • #1915613
    kl223
    Felhasználó
      #1915614
      LC
      Felhasználó

        Hasznád az strcmp nevû függvényt. A strings.h-ban van, és két c-s karakterláncot hasonlít össze. Pl. if (strcmp(argv[1],”-c”)==0) printf(„Na ugye!n”);

        #1915615
        kl223
        Felhasználó

          THX! Kipróbálom!
          (egyébként már próbálkoztam vele, és érdekes módon lefordult anélkül, hogy a strings.h-ra hivatkoztam volna. Lehet, hogy e miatt volt gázos…)

          #1915616
          Morzel
          Felhasználó

            üdvözletem!

            kl223 !

            A C nyelv nem tud neked összehasonlítani két sztringet. a sztringed azonosítója egy mutató, ami a sztring elsõ elemére mutat. Emiatt nem jó a sor == „Kiskutya” kifejezés.

            Most nem tudom kipróbálni, mert a munkahelyen nincs Linux, de azt hiszem:
            Mivel a string.h -t nem építetted bele az állományba, el sem tudta érni a programod. De ettõl függetlenül a gcc le is fordítja neked. Ha odateszed a -Wall paramétert a gcc -nek, akkor figyelmeztet erre:
            warning: implicit declaration of strcmp()
            …vagy valami ilyesmi.

            Ui.: Ha hülyeséget írtam, valaki szóljon 😆 😆 😆
            … azért ha hazaérek kipróbálom 😀

            #1915617
            pointux
            Felhasználó

              A Wall kapcsolóval tényleg kiírja a figyelmeztetéseket, viszont kifogástalanul lefordítja.
              Akkor van baj, ha ez nem figyelmeztetés, hanem hibajelzés. (Azt viszont Wall nélkül is kiírja.)

              Azt hiszem azokat az include file-okat nem kell beírni, melyek a include közvetlenül könyvtárban vannak. (De ez lehet, hogy csak bizonyos OS-eknél, gcc verzióknál van nem tudom.)

              Száz szónak is egy a vége, ha Wall nélkül nem ír ki semmit, akkor sikeresen lefordította, de attól tartalmazhat hibákat lásd. stringek összehasonlítása == operátorral (ami valószínûleg a két string címét hasonlítja össze, nem pedig a várt tartalmukat.)

              #1915618
              Morzel
              Felhasználó

                Igen, igen…

                Olyan kapcsoló nincs, ami a szemantikai hibáimat is figyeli ❓
                Valamivel könnyebben leheatne programozást tanulni…
                😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛 😛
                😳

                #1915619
                kl223
                Felhasználó

                  Igen, én is rájöttem idõközben, hogy csak a címüket hasonlítha össze…
                  Hááát, egy kissé bonyolultabb a pascal-nál…

                  Egyébként (bár ez kissé késõi hozzászólás) nekem a Kernighan-Ritchie féle könyvem van meg, mint C alapkönyv, a C++-hoz meg a Stanley Lipmann – „C++ elõször” c. könyve, de egyelõre csak a C-ben akarok elmélyülni…

                  A Kernighan-féle könyvet tudom ajánlani, a másik valóban hibás egy kicsit. Egyébként vhol láttam hozzá a neten egy hibajegyzéket a javítással…

                  #1915620
                  kl223
                  Felhasználó
                    #1915621
                    pointux
                    Felhasználó

                      strtol (string to long integer) (nemcsak decimális)
                      strtod (to float)

                      atoi (to integer) (csak decimális)
                      atoll (to long long integer)
                      atof (to float)

                      stb…
                      …nagyon sok van.

                      (stdlib.h)

                      Egy kis példa:
                      http://www.linuxforum.hu/modules.php?name=…iewtopic&t=6978

                      #1915622
                      Morzel
                      Felhasználó
                      10 bejegyzés megtekintése - 71-80 / 185
                      • Be kell jelentkezni a hozzászóláshoz.