zu unserem Online-Shop | to our catalogue

strcpy() nach strcpy_s() konvertieren

Fehlermeldung in VS2008

..\..\libraries\zlib\gzio.c(1008) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for Details.

Code

strcpy(s->msg, s->path);

Wir wollen demnach konvertieren

Die Aufrufsyntax:

char * strcpy(char * _Dest, const char * _Source)

in Aufrufsyntax:

errno_t strcpy_s(char * _Dst, rsize_t _SizeInBytes, const char * _Src)

      - oder -

errno_t strcpy_s<Size>(char (&_Dest)[_Size], const char * _Source)

Lösung

Also wenn da steht:

strcpy(parameter1, parameter2)

tue schreiben:

strcpy_s(parameter1, sizeof(parameter2), parameter2)

Im konkreten Fall (Anwendung)

Aus:

strcpy(s->msg, s->path);

Wird:

strcpy_s(s->msg, sizeof(s->path), s->path);

Erklärung

Es handelt sich im konkreten Fall, um eine einfache Pattern-Anwendung zur Lösung eines Problems beim Kompiliervorgang etwas älteren Quelltextes zur Kompilierung mittels eines aktuellen Entwicklungssystems (Visual Studio 2008).

Die Funktion strcpy_s diente - wie vormals die Funktion strcpy - zum kopieren von Zeichenketten und Bytepuffern von einer Quelle in eine Senke (Ziel).

 

So verfahren wir in allen unseren Projekten bei der Problemlösung.

powered by typo3 Impressum · Kontakt
TUX
Ich Valid XHTML 1.1
CSS ist valide!
Webserver powered by Debian
Development powered by Apache
Enlightened with PHP
Data grabbed from MySQL Database
Best viewed with Firefox
We love Free Software!
Tea compliant! Powered by hours of work and many cups of tasteful tea
Enhanced with 3d graphics