localtime vs localtime_s et appropriée des arguments en entrée

time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime ( &rawtime );

Ce retourne: avertissement C4996: 'localtime": Cette fonction ou une variable peut être dangereux. Pensez à utiliser localtime_s à la place.

time_t rawtime;
struct tm * timeinfo;
time ( &rawtime );
timeinfo = localtime_s ( &rawtime );

Quand je change de localtime à localtime_s j'obtiens: erreur C2660: "localtime_s' : la fonction ne prend pas 1 arguments

Voici ce que je pense qui se passe dans le premier bloc de code:

  • créer un vide time_t variable.
  • créer un pointeur vers timeinfo qui est défini dans ctime
  • écrire le rawtime dans un rawtime référence
  • convertir le rawtime en quelque chose de concret pour les piétons

    1. Suis-je droit?
    2. Ce deuxième paramètre d'entrée n'localtime_s besoin?
    3. Quel est le pire qui pourrait arriver si je viens de passer sous silence toute la localtime question de sécurité.
  • What second input parameter does localtime_s need? Google est en place et fonctionne aujourd'hui, tu sais
  • oui, j'ai trouvé cela tout de suite: msdn.microsoft.com/en-us/library/a442x3ye(v=vs. 80).aspx mais je n'ai pas encore de comprendre comment interpréter ces template/générique? la description des méthodes. Tout comme je ne comprends pas la syntaxe/symboles de forme générale wiki mathématiques articles. struct tm* _tm et const time_t *le temps ne signifie rien pour moi, aussi loin que ce que je suis vraiment dire la méthode... mais je voudrais qu'il a fait.
  • Oui, j'ai un peu de ceux qui sont trop.
InformationsquelleAutor ProGirlXOXO | 2013-01-17