Frage zu struct ( managed )
-
möchte ich gerne glauben aber es bringt mich auch nicht weiter weil der Fehler trotzdem kommt.
Lies doch mal was wir dir schreiben. Es ist KEIN FEHLER was dir gemeldet wird und die Funktion funktioniert trotzdem anstandslos! Es ist eine WARNUNG bzw. HINWEIS. Nicht mehr und nicht weniger. Oder weißt du nicht wo der Unterschied zwischen WARNUNG und FEHLER ist? Und du kannst die Warnung abschalten, wenn sie dich stört. Gibts sogar von MS eine offizielle Mitteilung dazu bzgl. der sichereren C-Funktionen (weil du nicht der erste bist). MS will einfach nur die Leute dazu bringen, sicherere C-Funktionen zu benutzen, aber es ist kein Muß! Das sagt die Warnung aus.
strcpy_s ist in dem Fall nur die sicherere stdcpy-Variante (Unterstrich-S steht für safe! Also in etwa strcpy_safe). Du mußt sie nicht benutzen. Und lass dir gesagt sein: stdcpy ist offiziell eine ANSI-C Funktion. Das der MS-Compiler eine Warnung ausspuckt, ist eine Entscheidung von MS. Und es ist nur eine Warnung bzw. Hinweis. Es hindert dich aber auch niemand, die sicheren C-Funktionen zu benutzen. Nur solltest du auch nicht denken, das wir dich hier verarschen wollen. Hier gibts schon sehr erfahrene Leute.
-
Hallo,
ich weiss schon den Unterschied, nur wurde das Prog. nach der Warnung nicht compiliert.
Ich hatte aber übersehen das DANACH, also nach der Warnung, noch ein FEHLER kam, SORRY SORRY...kann ja mal passieren oder ?Ich entschuldige mich ja !
Ich denke auch keinesfalls das Ihr mich hier verarschen wollt oder sowas und ich bin mir 100%'ig sicher das Ihr mehr auf dem Aksten habt als ich !!!
Da gibts keinen Zweifel !!!!Nur es wäre doch für Euch sehr einfach gewesen mir einfach mit dem Stück Code zu helfen und es zu erklären als hier 100 posts zu schreiben und zu streiten warum was nicht so gemacht werden soll oder ob es nun C/C++ oder managed C++ ist oder ?
Ich danke Euch ALLEN für die Hilfe trotzdem !
Weil auch diese Diskusion mich wieder ein bischen weitergebracht hat und es immer lichter im Dunkel wird !
Es ist auch nicht wirklich schlecht das ihr mich gezwungen habt da selber drauf zu kommen ! Das hat den Vorteil das ich so ganz genau verstanden habe was ich mache BEVOR ich es mache.
Wenn Ihr mir die Lösung aufgezeigt hättet hätte ich es auch verstanden aber erst danach und das macht schon einen Untershcied !Also danke nochmal an Alle !
MatthiasPs.: .. und sorry schon mal wenn ich wiedermal mit sowas einfachen nerve !
-
strcpy_s ist KEINE AnsiC Funktion.
Horch mal, wenn Du einfach keinen Bock hast Dir selbst zu helfen und die Leute nur anmaulen kannst, weil sie in ihrer Freizeit sich Deinen teils unnötigen Fragen stellen, dann lass es einfach.
Der compiler liefert eine große Hilfe mit, das schwarze sind die Buchstaben. Wenn Du eh nur maulen kannst, dann leb einfach mit der Hilfe aber lass uns hier im Forum mit dem rumgemaule und den absoluten Grundlagenfragen zufrieden.
Es ist alles andere als schön wenn man Dir helfen will und nur gemaule erntet
-
Hallo,
@Knuddelbär
Also jetzt reichts !
Wo hab ich denn rumgemault ?Ich lass mir ja viel nachsagen, aber lies Dir bitte auch MEINE Posts ( speziell den vorigen ) RICHTIG durch... da sind auch das schwarze die Buchstaben aber das blaue der Hintergrund !
Ich hab mich ja wohl genug entschuldigt !
Wenn Dir Fragen gegen den Strich gehen dann bist DU vielleicht hier falsch !
Das ist ein Forum und das bedeutet das hier Leute die Hilfe brauchen Fragen stellen dürfen und ja, sie dürfen auch auf ganz einfache Antworten hoffen und nicht auf ewige Grundsatzdiskusionen von dir !Matthias
-
Also eine einfache Antwort auf meine Frage mit einer Erklärung wäre aber wesentlich hilfreicher gewesen als der Hinweis was ich denn lernen soll.
Irgendwie klappt das Spielchen Frage stellen -> Antwort bekommen hier nicht so richtig. Ich mach sicher was falsch, aber ich stell immer eine Frage und bekomm eine Belehrung das ich doch etwas anderes ( unmanaged C++ ) lernen soll.
Wenn Dir alle Autos auf der Autobahn entgegen kommen, fahren die bestimmt alle falsch.
Das sind doch zwei spezielle Fragen. Warum kannst Du darauf nicht einfach mal antworten , oder jemand anders ?
Wohlbemerkt gab es die passenden Antworten schon 3 Posts zuvor
strcpy ist eine gültige ANSI C Funktion .. möchte ich gerne glauben aber es bringt mich auch nicht weiter weil der Fehler trotzdem kommt. Was hilft es mir da das es eine gültige ANSI C Fkt ist ... das ist zwar schön aber das hier hätte mir sehr viel besser geholfen
Du hast mehrmals nach einer Funktion gefragt, die einen String in ein char Array kopieren kann und hast mehrfach die Antwort bekommen die gültiges C++ ist. Bei der Warnung hätte ein einfaches drücken von F1 gereicht um die Lösung zu erfahren. Das Dir hier niemand gleich die _s Funktion genannt hat, mag daran liegen, das wohl kaum noch jemand der Objektorientiert arbeitet mit char Arrays rum murkst. Aber man kann ja sicherlich als Fragender erwarten das andere die Hilfe für Dich lesen und gleich alle Hinweise mitgeben die dort stehen.
Nur es wäre doch für Euch sehr einfach gewesen mir einfach mit dem Stück Code zu helfen und es zu erklären als hier 100 posts zu schreiben und zu streiten warum was nicht so gemacht werden soll oder ob es nun C/C++ oder managed C++ ist oder ?
Nein. Deine Probleme müssen teils erst in ein Projekt gepackt werden um an die Notwendigen meldungen zu kommen. Ebenso ist dies kein Hausaufgaben Forum sondern hier gibt es hilfestellung. Diese beinhaltet Hinweise keine Lösungen für Copy und paste. Im Sinne der Dir antwortenden Personen (zähl diese mal) ist es, die für C++ absolut notwenige Arbeitsweise anzugewöhnen. Bei den Problemen an den Du scheiterst lassen sehr darauf schliessen, das die weiße an die Probleme zu gehen noch ungeeignet sind um sich in C++ und einem Framework einzuarbeiten. Es werden Dir noch sehr kryptische Meldungen um die Ohren fliegen als nur T kann nicht in T^ konvertiert werden.
danke Dir für die Antwort, aber ich glaube ich hab Dir noch nicht gesagt das ich noch Anfänger bin und zwar "blutige". Also brauche ich eine etwas genauere Ausführung.
Es macht sehr den anschein das Du "Problem => Forum => Mal in der Hilfe lesen => Mal googel benutzen" verwendest.
-
Hallo,
Es macht sehr den anschein das Du "Problem => Forum => Mal in der Hilfe lesen => Mal googel benutzen" verwendest.
nein,
"Problem => Hilfe => Google => Forum !!
und das mach ich auch so.
Wenn Du hier ein Problem hast das sich hier auch mal ein Anfänger hinverirrt dann tuts mir auch leid.Matthias
-
Das was da steht sit nur das was schon in der Fehlermeldung steht, also das strcpy veraltet ist und nicht mehr verwendet werden soll. Was man ansonsten nehmen kann hab ich jedenfalls nich/noch nicht gefunden !
Na, so erfährt man in der Hilfe:
Because strcpy does not check for sufficient space in strDestination before copying strSource, it is a potential cause of buffer overruns. Consider using strcpy_s instead.
Copy a string. These are versions of strcpy, wcscpy, _mbscpy with security enhancements as described in Security Enhancements in the CRT.
Die Suche per Google "strcpy veraltet" erbringt:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-138072-and-start-is-20.html
Zugegeben, man muss schon auf die Idee kommen mal in der Hilfe strcpy zu suchen aber das Forum ist ja dann bequemer.