C-fejlesztés, KDevelop, stb…

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

10 bejegyzés megtekintése - 81-90 / 185
  • Szerző
    Bejegyzés
  • #1915623
    kl223
    Felhasználó
      Code:
      for ( i=’’, k=0; (i!=EOF); i=fgetc(forras) ) /* soronként beolvassuk */

         {

          /* ——————– */

          sor[k++]=i; /* bibi van a konverzióval! */

          if ( sor[k-1]==’n’ ) { break; }

         }; /* for */

      Ezt beírva (persze elõtte megnyitva a fájlt) nem kerül bele a cucc a sor stringbe.
      Ha viszont beírok egy putc(i, stdout); utasítást (rögtön elsõ utasításnak a cikluson belül) akkor a programot elindítva rendben kiírja a kérdéses fájl tartalmát. Miért?!

      (ui: kiír egy warningot: conversion beetween pointer and integer. Tehát valszeg ez a gond.)

      Kösz!

      #1915624
      pointux
      Felhasználó

        Azt, hogy miért nem kerül a sor-ba a file tartalma nem tudom. (

        #1915625
        kl223
        Felhasználó

          Télleg, lehet, hogy nem zártam le? Megnézem. A ciklus mûxik, mivel a fájl tartalmát kilistázza a képernyõre (putc esetén) csak a stringbe nem kerül bele.

          Kösz!

          (ui: jubileumi hozzászólásomat olvashattátok, ez a századik. 😀 😀 😀 😀 😀 😀 😀
          jó, persze, nem kell kiröhögni a grafománoknak, majd leszek én is olyan… 😛 :mrgreen: )

          kl223

          #1915626
          Leslieman
          Felhasználó
            Code:
            for ( i=’’, k=0; (i!=EOF); i=fgetc(forras) ) /* soronként beolvassuk */

               {

                /* ——————– */

                sor[k++]=i; /* bibi van a konverzióval! */

                if ( sor[k-1]==’n’ ) { break; }

               }; /* for */

            A program azt csinálja, amit megadtál neki. Hogy mit adtál meg?
            Azt, hogy a for ciklus kezdetekor az i változó tartalma legyen ” (i=”).
            Viszont az i=fgetc(forras) rész csak a ciklusmag végrehajtása után fog végrehajtódni!

            #1915627
            Leslieman
            Felhasználó

              kiír egy warningot: conversion beetween pointer and integer. Tehát valszeg ez a gond.

              A program elején adj meg neki egy char i; változót, akkor gondolom nem fog sírni a fordító. Persze csak akkor ha a ‘sor’ is karakter tömb, vagy valami ilyesmi.
              A for ciklusban ugyan a c fordító automatikusan létrehoz i változót, ha nem adod meg elöl te magad, de pl az MS Visual C nem jól kezeli ezeket (globális/lokális változók prolémája).

              #1915628
              pointux
              Felhasználó
                #1915629
                Morzel
                Felhasználó
                  Code:
                  for ( i=’’, k=0; (i!=EOF); i=fgetc(forras) ) /* soronként beolvassuk */

                     {

                      /* ——————– */

                      sor[k++]=i; /* bibi van a konverzióval! */

                      if ( sor[k-1]==’n’ ) { break; }

                     }; /* for */

                  Ezt beírva (persze elõtte megnyitva a fájlt) nem kerül bele a cucc a sor stringbe.
                  Ha viszont beírok egy putc(i, stdout); utasítást (rögtön elsõ utasításnak a cikluson belül) akkor a programot elindítva rendben kiírja a kérdéses fájl tartalmát. Miért?!

                  (ui: kiír egy warningot: conversion beetween pointer and integer. Tehát valszeg ez a gond.)

                  Kösz!

                  #1915630
                  Leslieman
                  Felhasználó

                    Egyébként ha csak sorok beolvasása a cél, akkor javaslom ezek nézegetését:

                    getline (GNU c alatt)
                    getdelim (GNU c alatt)
                    fgets

                    #1915631
                    kl223
                    Felhasználó

                      A gyári fgv-ek nem jók, mert ezt még bõvíteni fogom úgy, hogy olyat a gyári eljárások nem tudnak.

                      Kösz a hozzászólásokat, sikerült megoldani, de idõközben már egy ismeretlen eredetû „Szegmentálási hiba.” üzenettel küzdök futtatás alatt.

                      De sebaj, megoldom.

                      Majd még jó sokat írok ide!

                      #1915632
                      kl223
                      Felhasználó
                      10 bejegyzés megtekintése - 81-90 / 185
                      • Be kell jelentkezni a hozzászóláshoz.