Convertir time_t en Entier
Comment dois-je modifier ce code pour imprimer("Son de Minuit") chaque 00:00 ?
#include <time.h>
#include <stdio.h>
int main(void)
{
struct tm * localtime ( const time_t * ptr_time );
struct tm
{
int tm_sec; /* segundos, range 0 to 59 */
int tm_min; /* minutos, range 0 to 59 */
int tm_hour; /* horas, range 0 to 23 */
int tm_mday; /* dia do mes, range 1 to 31 */
int tm_mon; /* mes, range 0 to 11 */
int tm_year; /* numero de anos desde 1900 */
int tm_wday; /* dia da semana, range 0 to 6 */
int tm_yday; /* dia no ano, range 0 to 365 */
int tm_isdst;
};
time_t mytime;
mytime = time(NULL);
printf(ctime(&mytime));
/*
if(str_time.tm_hour == 00 && str_time.tm_min == 00 && str_time.tm_sec == 00 )
{
printf("Its midnight");
}
*/
return 0;
}
La Sortie de time_t est:
Www Mmm jj hh:mm:ss yyyy
Exemple:
Mar Fév 26 09:01:47 2009
Vous avez sûrement dire time_t int.
Vous souhaitez faire de cette plateforme?
La plupart diraient "00:00" est midi. Je pense que vous voulez "00:00".
Vous souhaitez faire de cette plateforme?
La plupart diraient "00:00" est midi. Je pense que vous voulez "00:00".
OriginalL'auteur Neto | 2013-10-16
Vous devez vous connecter pour publier un commentaire.
Si vous le pouvez, utilisez
sleep()
pour faire une pause.Utilisation
time()
etlocaltime()
pour déterminer l'heure de la sieste.Vous pouvez également vouloir vérifier
thrd_sleep()
, nouvelles en C11. Je n'ai aucune expérience avec elle. (Merci de me mettre plus de 5 000 reps)OriginalL'auteur chux
En général time_t est mis en œuvre comme un 32 ou 64 bits entier. Cependant, il n'y a pas de norme qui définit cette. Donc, si vous êtes inquiet au sujet de la portabilité, vous ne devriez pas l'utiliser. Toutefois, si vous n'êtes pas, alors vous devriez juste de tester la façon dont il est mis en place sur votre système. Il peut déjà être considérée comme un entier.
Edit:
Si vous êtes en train de sortir de certains des éléments de time_t, puis utiliser quelque chose comme,
La struct tm, qui est retourné, ressemble à ceci,
Edit 2:
Cet exemple est tiré de gnu.org. J'ai pris l'impression des choses, puisque vous n'êtes pas désireux d'utiliser ceux-ci, mais j'ai laissé le reste pour vous à la figure.
Ah, je pensais que vous alliez pour quelque chose comme ça, mais la deuxième deviné mon post original. Le temps.h tm struct vous donne toutes les informations dont vous avez besoin.
Désolé, je suis très stupide, donc je wnat de mettre une condition:
si(tm_min == 15)......faire quelque chose, Comment puis-je le faire?
vous ne pouvez pas accéder à un membre d'une structure directement. si vous faites référence à une structure par l'intermédiaire d'un pointeur vous utilisez struct_name->tm_min. si vous faites référence à une structure directement nous struct_name.tm_min.
OriginalL'auteur dsell002