Announcement

Collapse
No announcement yet.

strcmp

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

  • strcmp

    Code:
    do {
       strcpy(zeile,"");
       fscanf(stream2,"%s\n",&zeile);
       if(strcmp(zeile,"###EOA")!=0);
      {
         fprintf(stream,"%s\n", zeile);
      }
    
      if(strcmp(zeile,"###EOA")==0);
      {
         fprintf(stream,"\n\n");
       }
    
    } while(strcmp(zeile,"###EOA")!=0);
    Wann zeile = ###EOF dann darf zeile nicht mit fprintf geschrieben, aber muss zwei \n geschrieben werden.

    Aber ###EOA wird mit diese Kode immer geschrieben und \n\n auch.


    Problem ist dass diese Kode nicht von mir geschrieben ist und schön sehr alt ist.

    Ich verstehe dass strcmp zwei strings vergleicht aber diese Kode macht dass nicht korrekt (mehr?)

  • #2
    was ist zeile??
    Christian

    Comment


    • #3
      Code:
         char zeile[100];

      Comment


      • #4
        er sollte es tun....

        Und was ist nun der Fehler??
        Christian

        Comment


        • #5
          die fehler ist dass IMMER ###EOA und IMMER \n\n mit fprintf gespeichert wird.

          es muss ein ODER funktion sein:

          wann zeile != ###EOA wird datei gespeichert
          wann zeile == ###EOA wirdt zwei extra zeilen gespeichert. (jetz wird noch ###EAO immer angezeigt)

          Comment


          • #6
            Dann debugge durch, aber der Code dürfte doch noch nie gelaufen sein....

            lese zeile ist nicht ####EOA

            erstes if trifft zu und schreibt \n

            zweites if trifft nicht zu

            Schleife zu Ende

            ------------------------------
            weitere Schleife

            lese zeile ist ####EOA

            erstes if trifft nicht zu

            zweites trifft zu und schreibt \n\n

            weitere Schleife da Endbedingung nicht erfüllt somit -> siehe erste Schleife
            Christian

            Comment


            • #7
              entschuldigung aber diese Deutsche sprache verstehe Ich nicht ganz gut?

              Meinen sie dass diese Kode nimmer funkioniert hat?

              Comment


              • #8
                vielleicht muss Ich auch die Datei anzeigen : er sind 100'n von dieses blocke in die Datei

                jeden block startet mit ###SPD und ended mit ###EOA


                Code:
                ###SPD
                10
                ###BOA
                AFD4C
                
                Speeldag : 10     Zaterdag 24 November 2007
                     1                 KATASTROOF - CHICAGO METALLIC
                     2                 SCHONENBERG - WELVAART
                     3                 DE GOUDBLOEM B - KLUNGEL
                     4                 C.C.B. - VISBOYS
                     5                 R.T.P. - KLOOSTERSTRAAT B
                                       FOXES: vrij
                ###EOA
                
                ###SPD
                11
                ###BOA
                AFD4C
                
                Speeldag : 11     Zaterdag 1 December 2007
                     1                 KLOOSTERSTRAAT B - C.C.B.
                     2                 VISBOYS - DE GOUDBLOEM B
                     3                 CHICAGO METALLIC - SCHONENBERG
                     4                 KLUNGEL - R.T.P.
                     5                 FOXES - KATASTROOF
                                       WELVAART: vrij
                ###EOA
                
                ###EOF

                Comment


                • #9
                  Meinen sie dass diese Kode nimmer funkioniert hat?
                  Denke ich, ja

                  Die letzte Zeile sollte vermutlich EOF heissen
                  Christian

                  Comment


                  • #10
                    ###EOF is End Of File und danach kommt keine Datei mehr...

                    Comment


                    • #11
                      schön,schön

                      Aber da man überhaupt nicht weiss, was wann wo überhaupt geschrieben werden soll, kann man nichts zu dem Problem sagen.

                      Außerdem finde ich es nicht gut, solchen Code am Leben zu erhalten.

                      Du kannst das Probem sicher schnell lösen, wenn du dort den Debugger benutzt
                      Christian

                      Comment


                      • #12
                        Ok, dann soll Ich dass probieren.
                        Danke,

                        Comment


                        • #13
                          if( *(mystr.c_str()) != *"###EOA" )

                          lauft ganz frei !

                          Comment


                          • #14
                            Aha, und was soll uns das sagen? Bisher ist hier mystr noch nirgends aufgetaucht??

                            Du vergleichst Adressen, dass die unterschiedlich sind verwundert nicht.

                            Warum du nicht

                            if(mystr!="###EOA")

                            schreibst ?????
                            Christian

                            Comment

                            Working...
                            X