In den meisten Fällen sind Funktionen, die mit einem führenden Unterstrich beginnen, Implementierungserweiterungen; Sie sind nicht Teil der C Standard Library. (Es gibt Ausnahmen, z. B. _Exit
ist Teil der C-Standardbibliothek, obwohl es in der Visual C++ - Implementierung noch nicht implementiert ist.) Bezeichner, die mit einem führenden Unterstrich beginnen, sind reserved in the global namespace, so dass sie für nicht standardmäßige Erweiterungen verwendet werden, um Konflikte mit Benutzern zu vermeiden -definierte Namen.
Was, warum gibt es keine wtoi
in dem C Standard Library: Durch die Zeit, Breitzeichen Funktionen der C-Standardbibliothek hinzugefügt wurden, wurde es klar, dass die atoi
Schnittstelle fehlerhaft ist, weil there is no way to detect whether the conversion succeeded or failed.
Verwenden Sie nicht atoi
oder _wtoi
. Verwenden Sie stattdessen die bevorzugten Funktionen strtol
und wcstol
, die beide Teil der C-Standardbibliothek sind. (Es gibt auch andere-ähnlich benannten Konvertierungsfunktionen für andere Arten, beispielsweise strtof
und wcstof
zu float
und strtoull
und wcstoull
zu konvertieren unsigned long long
zu konvertieren.)
Da Microsoft es dort setzen - keinen anderen Grund. Es ist ihre Funktion, damit sie tun können, was sie wollen; weder 'wtoi()' noch '_wtoi()' sind standardisiert, außer de facto von Microsoft. –