# VS warning C4996



## Viper2009 (18. September 2005)

Hallo ich habe eine anwendung geschrieben und bekomme jetzt immer diesen fehler und weis nicht wie ich ihn wegbekomme vieleicht könnt ihr mir ja helfen.

Ich benutze zurzeit Visual Studio 2005 Beta2.
_____________________________________________

c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(91) : warning C4996: 'sprintf' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(317) : see declaration of 'sprintf'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(111) : warning C4996: 'strcpy' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\string.h(56) : see declaration of 'strcpy'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(493) : warning C4996: 'sprintf' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(317) : see declaration of 'sprintf'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(677) : warning C4996: 'fopen' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(235) : see declaration of 'fopen'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(721) : warning C4996: 'fopen' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(235) : see declaration of 'fopen'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(831) : warning C4996: 'sprintf' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(317) : see declaration of 'sprintf'
c:\projekts\nc\projekt-nc\tinyxml\tinyxml.cpp(838) : warning C4996: 'sprintf' was declared deprecated
        c:\programme\microsoft visual studio 8\vc\include\stdio.h(317) : see declaration of 'sprintf'


----------



## MCoder (18. September 2005)

Es sind ja "nur" Warnungen und keine Fehler  
Dein Programm sollte sich trotzdem kompilieren lassen. Diese Warnungen bedeuten auch nicht, das dein Programm Fehler enthält. Vielmehr werden offensichtlich ab der neuen VC-Version bei Verwendung von potentiell gefährlichem Funktionen (Stichwort: "Buffer Overflow") Warnings ausgegeben.

Um die Warnings nachhaltig zu vermeiden, musst du auf diese Funktionen verzichten. Stattdessen solltest du C++-like arbeiten und die STL (Standard Template Library) benutzen. Beispiele zu Stringverarbeitung sowie I/O-Sachen finden sich in diesem Forum jede Menge.

Ansonsten musst du halt mit den Warnungen leben. Als rein kosmetische Maßnahme kannst du die Warnungen mit einer Präprozessor-Anweisung ausblenden.

```
#pragma warning(disable:4996)
```


----------



## Viper2009 (18. September 2005)

danke für deine antwort aber das sind inzgesamt 76 warungen. Aber das programm hat dan ein fehler wenn ich es compiliere.


----------



## MCoder (19. September 2005)

Dann versuche die Warnungen mit der Präprozessor-Anweisung auszublenden.



			
				Viper2009 hat gesagt.:
			
		

> Aber das programm hat dan ein fehler wenn ich es compiliere.


 Was für einen Fehler?


----------

