Ich erhalte diesen Fehler beim Kompilieren:Fehler "fopen ': Diese Funktion oder Variable ist möglicherweise nicht sicher." wenn compling
'fopen': This function or variable may be unsafe.
Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS.
Ich bin neu in C++ und offener CV daher bitte helfen Sie mir die Befreiung von diesem Fehler zu erhalten.
Dank
void _setDestination(const char* name)
{
if (name==NULL) {
stream = stdout;
}
else {
stream = fopen(name,"w");
if (stream == NULL) {
stream = stdout;
}
}
}
Ich würde diese Warnung nicht deaktivieren. Stattdessen würde ich eine sicherere Version von fopen verwenden, also fopen_s. Weitere Informationen finden Sie unter "Sicherheitsfunktionen im CRT" (http://msdn.microsoft.com/en-us/library/8ef0s5kh.aspx). – Bogdan
@Bogdan Ja, das ist nett, wenn Sie nur Microsoft sind, aber das ist eine MS-Erweiterung und nicht Standard-C++. Wenn es sich um eine Bibliothek oder einen Teil eines Projekts handelt, das nicht zu 100% aus Microsoft besteht, sollten Sie die _s-Erweiterungen nicht verwenden, sondern stattdessen auf die Erstellung von ordnungsgemäßem Standardkonformcode zurückgreifen. – nvoigt
können Sie immer noch fopen_s verwenden. Setze einfach den bedingten Kompilierungsblock für win32 ein. Solche Blöcke sind unvermeidbar, wenn Sie wirklich an plattformübergreifenden Projekten arbeiten. –