Problem mit Ausgabe



  • @Anzi-C: Ne, es ist syntaktisch korrekt.

    printf("\t Titel: %1.9s        Interpret: %1.9s        Format: %1.9s    Groesse:  %.2lf in Mb\n", (*Daten)[i].Titel,(*Daten)[i].Interpret,(*Daten)[i].Format), (*Daten)[i].Speicher;
    //     \                                                                          ^                \    /           \    /                \    /           /
    //      \                                                                         1)                 OK               OK                    OK            /
    //       \                                                                                                                                               /
    //        - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - BOO - BOO - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    

    dadurch fehlt natürlich ein Parameter für 1) und du bekommst nette Zufallswerte 😉

    Greetz, Swordfish



  • Die Klammer habe ich ganz übersehen.... 🙄

    Du hast recht, gerade getestet. Es werden Zufallswerte ausgegeben. Manche Compiler (Visual Studio 2005) geben eine Warnung aus: (Beispiel 😉 )

    d:\temp\test\test.cpp(8) : warning C4313: "printf": "%d" in der Formatzeichenfolge steht mit dem Argument "2" vom Typ "const char *" in Konflikt.



  • wo siehst du ein "%d" in Frido1982's posts!?

    Greetz, Swordfish



  • Das war ein eigenes printf() zum Testen, da man seines ja nicht so leicht kompilieren kann.



  • zeig' mal deinen Testcode!

    Greetz, Swordfish



  • #include <stdio.h>
    
    int main(void)
    {
    	char c='a';
    	int d=1234;
    
    	printf("%c %d", c),d;
    }
    


  • hm. wundert mich jetzt, wo der Compiler da ein

    Argument "2" vom Typ "const char *"

    sehen will...

    Greetz, Swordfish



  • @Anzi-C:
    Sei doch bitte ein bisschen mehr bei der Sache und poste die korrekten Codebeispiele zur Fehlermeldung, und schau dass wenigstens die Klammern richtig sitzen 😉

    @Swordfish:
    Der GCC warnt auch, wenn's nicht passt:

    #include <stdio.h>
    
    int main(void)
    {
        printf("%s: %d\n", "Hallo");
        printf("%d\n", "Welt");
    }
    
    # gcc -o test test.c -Wall
    test.c: In function `main':
    test.c:5: warning: too few arguments for format
    test.c:6: warning: int format, pointer arg (arg 2)
    


  • Hm. Ist der GCC aber nett.
    Programmiert der auch schon von selbst und kocht Kaffee? 😉

    Greetz, Swordfish



  • Sei doch bitte ein bisschen mehr bei der Sache und poste die korrekten Codebeispiele zur Fehlermeldung, und schau dass wenigstens die Klammern richtig sitzen 😉

    Posting #1 (von mir):

    Du hast recht, gerade getestet. Es werden Zufallswerte ausgegeben. Manche Compiler (Visual Studio 2005) geben eine Warnung aus:

    Posting #2 (von Swordfish):

    wo siehst du ein "%d" in Frido1982's posts!?

    Posting #3 (von mir):

    Das war ein eigenes printf() zum Testen, da man seines ja nicht so leicht kompilieren kann.

    Posting #4 (von Swordfish):

    zeig' mal deinen Testcode!

    Posting #5 (von mir):

    Testcode für Swordfish!!!

    Alles klar? 😉 Der Code war absichtlich falsch. Ich wollte nur ausprobieren ob der Compiler eine Fehlermeldung ausgibt und daraufhin fragte mich Swordfish was ich denn für einen Code ausprobiert hatte...



  • Ja, und genau dieser Code compiliert nichtmal geschweigedenn dass er die Warnung ausgibt die Du gepostet hast.




Anmelden zum Antworten