fopen gets puts macht probleme in C++ 2008 express



  • Hallo Forum,

    will ein ansi c tutorial durcharbeiten aber bekomme bei folgenden Befehlen immer:

    This function or variable may be unsafe. Consider using scanf_s instead

    ja ich weis dass ich mit dem express mit kanonen auf spatzen schiesse doch möchte ich es verwenden

    mit:
    #define CRT_SECURE_NO_WARNINGS

    am dateianfang bekomme ich die fehlermeldung nicht weg

    hat wer ne lösung fuer mich?

    DAANKEE!



  • Hi!
    Schreib #define CRT_SECURE_NO_WARNINGS in die Projekteinstellungen rein. Da wo auch #define WIN32 usw. steht.

    Gruß,
    B.B.



  • Hallo,

    kann leider nicht finden wo ich es reinschreiben koennte, kannst du mir bitte noch einen Tip geben?
    dort wo ich WIN32 gefunden habe kann ich nichts schreiben

    DANKE!

    Thomas



  • mein wahnsinnskomplizierter code ist uebrigens falls es hilft:

    #define CRT_SECURE_NO_WARNINGS
    #include <stdio.h>

    int main(void)
    {
    char s;

    scanf("%s", s);
    printf("Der inhalt lautet: %s", s);
    return(0);
    }



  • deine Frage hat mit ANSI C nichts zu tun, weil das das ein VS Sicherheitsfeature ist.

    Was dein Code anbetrifft: wie willst du in einem Zeichen char s eine Zeichenkette (also mehrer Zeichen) speichern? Denk mal drüber nach.

    Außerdem darfst du auch die CPP Tags des Forums verwenden, falls du dachtest, dass du es nicht darfst und deswegen es nicht getan hast.



  • hab
    #define _CRT_SECURE_NO_WARNINGS
    auch schon wie hier im forum beschrieben in alle stdafx dateien oben reingehängt

    kein! erfolg

    dachte mir nur da kann mir eher im c unterforum wer helfen...

    thomas



  • absoluteCbeginner schrieb:

    Hallo,

    kann leider nicht finden wo ich es reinschreiben koennte, kannst du mir bitte noch einen Tip geben?
    dort wo ich WIN32 gefunden habe kann ich nichts schreiben

    DANKE!

    Thomas

    Hab den Compiler zurzeit hier nicht verfügbar, aber irgendwo in den Einstellungen kann man da _CRT_SECURE_NO_WARNINGS reinschreiben. Weiss bloss nicht auswendig wo. Frag doch mal im Compilerforum.
    Gruß,
    B.B.



  • aber die warnung ist schon angebacht, du überschreibst mit dem code erstmal eine zufällige addresse. da sollte er wirklich warnen
    😉
    scanf("%c", &s);
    printf("%c", s);

    oder ein array benutzen



  • moepmoep schrieb:

    aber die warnung ist schon angebacht, du überschreibst mit dem code erstmal eine zufällige addresse. da sollte er wirklich warnen
    😉
    scanf("%c", &s);
    printf("%c", s);

    oder ein array benutzen

    Die Warnung kommt aber nicht daher, das er scanf falsch benutzt, sondern weil Microsoft einige Funktionen als unsicher betrachtet.

    mfg
    tröt tröt



  • danke

    hab jetzt fgets gefunden


Anmelden zum Antworten