text feldolgozas c-ben

Kezdőlap Fórumok Programozás text feldolgozas c-ben

6 bejegyzés megtekintése - 1-6 / 6
  • Szerző
    Bejegyzés
  • #1977556
    begyu
    Felhasználó

      Hali!

      A ciklust tedd blokkba!

      #1977557
      montressor
      Felhasználó

        >A ciklust tedd blokkba!

        Igen ez az koszi. Viszont igy is segfaultol….
        gdb -ben ezt csinalja:

        (gdb) bt
        #0 0x40078c74 in _IO_vfscanf () from /lib/tls/libc.so.6
        #1 0x400802c4 in vfscanf () from /lib/tls/libc.so.6
        #2 0x00000007 in ?? ()
        #3 0x08048633 in _IO_stdin_used ()
        #4 0xbffff858 in ?? ()
        #5 0x00000000 in ?? ()
        #6 0x4015cedc in ?? () from /lib/tls/libc.so.6
        #7 0x40085c2f in fscanf () from /lib/tls/libc.so.6
        #8 0x00000007 in ?? ()
        #9 0x08048633 in _IO_stdin_used ()
        #10 0xbffff858 in ?? ()
        #11 0x080484b0 in main (argc=2, argv=0xbffff904) at fuz.c:21

        A sok kerdojeles sorrol hogy tudom meg micsoda? Illetve, hogy tudom megnezni, hogy milyen erteket kap az fscanf?

        #1977558
        dexter11
        Felhasználó

          Sziasztok!

          Nagyon primitiv kerdesben akadtam el: egy textfile-t szeretnek beolvasni, amelyben stringek vannak veszzovel elvalasztva. Arra gondoltam, h probakent karakterenkent beolvasom (esetleg soronkent), de a belso ciklussal gond van:
          #include
          #include

          int main(int argc, char * argv[]){

          int    fd,i;
          char    c;

          if (2 != argc) {
              printf(„Usage: fuz n”);
              return 1;
              }

          if ((fd = open(argv[1], O_RDONLY)) <0 ) {
                  printf(„Error opening file: %sn”,argv[1]);
                  return 1;
              }

          do
                  fscanf(fd,”%c”,&c);
                  printf(„A char %cn”,c);
          while (c!=’,’);

          close(fd);
          return 0;
          }

          Erre azt mondja:

          fuz.c: In function `main’:
          fuz.c:21: warning: passing arg 1 of `fscanf’ makes pointer from integer without a cast
          fuz.c:22: error: parse error before „printf”

          Nem tudom mi lehet a gond, de ha a do-t es while-t kikommentezem, lefordul, futtatva segfaultol:(
          Mi a baja?

          Masik, nem lehet ezt egyszerubben megcsinalni? Olvastatni a vesszok kozott? Koszonom
          [align=right][snapback]89305[/snapback][/align]

          Kipróbáltad már amit a warning ír? Az arg1 egy mutató. Az fscasnf-nek meg egy int van megadva.

          #1977559
          montressor
          Felhasználó

            >Kipróbáltad már amit a warning ír? Az arg1 egy mutató. Az fscasnf-nek meg egy int van megadva.

            Valoban, koszonom, mukodik

            #1977560
            tovis
            Felhasználó

              Te a scanf nem int – ként kezeli a char változót?

              #1876435
              csaba
              Felhasználó

                Sziasztok!

                Nagyon primitiv kerdesben akadtam el: egy textfile-t szeretnek beolvasni, amelyben stringek vannak veszzovel elvalasztva. Arra gondoltam, h probakent karakterenkent beolvasom (esetleg soronkent), de a belso ciklussal gond van:
                #include
                #include

                int main(int argc, char * argv[]){

                int fd,i;
                char c;

                if (2 != argc) {
                printf(„Usage: fuz n”);
                return 1;
                }

                if ((fd = open(argv[1], O_RDONLY)) <0 ) {
                printf(„Error opening file: %sn”,argv[1]);
                return 1;
                }

                do
                fscanf(fd,”%c”,&c);
                printf(„A char %cn”,c);
                while (c!=’,’);

                close(fd);
                return 0;
                }

                Erre azt mondja:

                fuz.c: In function `main’:
                fuz.c:21: warning: passing arg 1 of `fscanf’ makes pointer from integer without a cast
                fuz.c:22: error: parse error before „printf”

                Nem tudom mi lehet a gond, de ha a do-t es while-t kikommentezem, lefordul, futtatva segfaultol:(
                Mi a baja?

                Masik, nem lehet ezt egyszerubben megcsinalni? Olvastatni a vesszok kozott? Koszonom

              6 bejegyzés megtekintése - 1-6 / 6
              • Be kell jelentkezni a hozzászóláshoz.