Announcement

Collapse
No announcement yet.

fscanf funkioniert nicht:

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • fscanf funkioniert nicht:

    mit diese Kode funkioniert alles ohne Problemm.

    Code:
          stream = fopen("YYY.AFD", "r+");
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &afdeling);
    
           fclose(stream);

    aber wann Ich mit eine Variabel afd arbeitet dann bekomm Ich auf fscanf eine
    EAccessViolation fehler.

    Code:
          stream = fopen(afd, "r+");
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &dummychar);
          fscanf(stream, "%s\n", &afdeling);
    
           fclose(stream);

    Wass kann dass Problemm sein bitte?

  • #2
    Was steht denn in adf ??

    Comment


    • #3
      die Dateiname "YYY.AFD"

      wann die Dateiname "fest" ist z.B stream = fopen("YYY.AFD", "r") funkioniert dass.

      afd :

      char afd[100];

      Comment


      • #4
        wenn adf ein AnsiString ist, probier mal

        stream = fopen(afd.c_str(), "r+");

        Comment


        • #5
          stream = fopen(afd, "r+");
          stream = fopen(Panel4->Caption.c_str(), "r+");

          beide habe Ich schon getestet und beide mit gleiche resultät.

          Panel4 zeigt genau "YYY.AFD" an. (ohne ")



          afd.c_str kan Ich nicht machen da afd wie char[100] definiert ist.

          kann Ich vielleicht ein Fehler Nummer abfragen?

          Comment


          • #6
            stream = fopen("C:\\PROGRAM FILES\\VOETBAL\\AFDELING.", "r+");
            fgets(afd,100,stream);
            fclose(stream);

            Panel4->Caption = "C:\\PROGRAM FILES\\VOETBAL\\";
            Panel4->Caption = Panel4->Caption + afd;

            stream2 = fopen(Panel4->Caption.c_str(), "r+");


            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &dummychar);
            fscanf(stream2, "%s\n", &afdeling);
            fclose(stream2);


            dass ist die ganze Kode

            dass komische ist dass afd fehlerfrei gelesen wird von stream mit fgets
            aber wann Ich stream2 bearbeitet gibt eine Fehler.

            Comment


            • #7
              stream = fopen("C:\\PROGRAM FILES\\VOETBAL\\AFDELING.", "r+");

              lass mal den Punkt hinter AFDELING weg oder gib die extension an (z.B. txt)

              ausserdem solltest du generell abfragen ob fopen erfolgreich war

              if (fopen == NULL)
              {
              Fehler
              }

              Comment


              • #8
                gleiches Problemm

                dabei, es ist kein Problemm mit AFDELING. aber mit dass zweiten stream.

                Panel4->Caption zeigt genau c:\program files\voetbal\yyy.afd an...

                ich habe dieses Kode auch benutzt in andere Forms und da funkioniert dass ohne Problemm

                Comment


                • #9
                  stream2 = fopen(Panel4->Caption.c_str(), "r+");
                  if (fopen == NULL)
                  {
                  ShowMessage("Fehler");
                  }

                  fscanf(stream2, "%s\n", &dummychar);

                  Fehler wird NICHT angezeigt !!!

                  am ersten fscanf wird ein access violation angezeigt... mit meldung uber eine CC3260MT.DLL Datei.

                  Comment


                  • #10
                    Danke Henri! Jetz funkioniert dass!

                    stream = fopen("C:\\PROGRAM FILES\\VOETBAL\\AFDELING", "r+");
                    fscanf(stream, "%s\n", &afd);
                    fclose(stream);

                    es war fgets mit ein definierte länge von 100. jetz benutz Ich ein fscanf und funkioniert wie Ich dachte!

                    Comment

                    Working...
                    X