Maison >développement back-end >C++ >Comment puis-je implémenter la fonctionnalité strptime() sous Windows ?
strptime() pour Windows
strptime() est une fonction POSIX couramment utilisée pour analyser des chaînes de texte dans des structures tm. Malheureusement, cette fonction n'est pas disponible sous Windows.
Implémentations alternatives
Si vous recherchez une bonne implémentation équivalente de strptime() pour Windows, voici une solution qui utilise les fonctions sscanf, struct tm et mktime :
N'oubliez pas de définir le membre isdst de la struct tm sur -1 pour éviter les problèmes d'heure d'été.
Exemple
#include <stdio.h> #include <stdlib.h> #include <time.h> int main() { char *date_str = "MM-DD-YYYY HH:MM:SS"; struct tm tm; sscanf(date_str, "%d-%d-%d %d:%d:%d", &tm.tm_mon, &tm.tm_mday, &tm.tm_year, &tm.tm_hour, &tm.tm_min, &tm.tm_sec); tm.tm_mon -= 1; // Adjust for zero-indexing tm.tm_year -= 1900; // Adjust for 1900 starting year time_t epoch = mktime(&tm); printf("Epoch: %ld\n", epoch); return 0; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!