- Κώδικας: Επιλογή όλων
int xdays(int days)
{
/* Get date after / before X days */
struct tm *timeinfo;
time_t rawtime;
rawtime = time(NULL);
timeinfo = localtime(&rawtime);
timeinfo->tm_mday = timeinfo->tm_mday + days;
sprintf(buffer, "Date %s %d days: ",
days < 0 ? "before" : "after",
days < 0 ? -days : days);
mktime(timeinfo);
fputs(buffer, stdout);
strftime(buffer, SIZE, "%A, %B %d %Y.\n", timeinfo);
fputs(buffer, stdout);
return 0;
}
και κατόπιν να την καλείς είτε με θετικό είτε με αρνητικό όρισμα:
- Κώδικας: Επιλογή όλων
xdays(-30); // ή π.χ. xdays(15);
Αφενός το ? : είναι τελεστής και εκτελείται πιο γρήγορα από το απλό if-else, αφετέρου γλιτώνεις ένα όρισμα.
medigeek έγραψε:Διορθώθηκε! Για το setlocale είναι νωρίς ακόμη.



