Bonjour,

je souhaite faire une fonction qui retourne un char * sans directement déclarer un char avant utilisation:

voici mon code actuel:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
struct tm * DateAndTime(void)
{  
    time_t timer1;
    struct tm *newTime1;
 
    time(&timer1);
    newTime1 = localtime(&timer1);
    newTime1->tm_mon = newTime1->tm_mon + 1; 
    newTime1->tm_year = newTime1->tm_year + 1900;
 
    return newTime1;
}
 
T_CHAR * StringDateAndTime(T_CHAR * TimeString)
{
    struct tm *Time;
    Time = DateAndTime();
    sprintf(TimeString, "[%.2d:%.2d:%.2d]", Time->tm_hour, Time->tm_min, Time->tm_sec);
    return TimeString;
}
et je l'appel comme ceci

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
T_CHAR Time[MAX_DATE_LENTGH];
 
printf("%s bla bla\n", StringDateAndTime(Time));
cependant je souhaiterai directement avoir ça dans l'appel (sans la déclaration du Time...), possible ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
printf("%s bla bla\n", StringDateAndTime());