Mi programa tienen una opción para cambiar la hora y fecha, uso el siguiente fragmento de código para Linux:
time_t t;
struct tm *tmPtr;
tmPtr->tm_mday=datetimearray[0];
tmPtr->tm_mon=datetimearray[1];
tmPtr->tm_year=datetimearray[2];
tmPtr->tm_hour=datetimearray[3];
tmPtr->tm_min=datetimearray[4];
tmPtr->tm_sec=datetimearray[5];
t=mktime(tmPtr);
stime(&t);
Cuando se ejecuta, la hora y fecha mostradas tanto por mi programa como por el sistema operativo en una esquinano son las esperadas, pero cuando quiero modificar éstas con el Yast, éste me muestra la fecha y hora correctas...
Para windows uso el siguiente fragmento, el cuál me funcionaba pero desde que le puse contraseña al usuario ya no:
SYSTEMTIME st;
st.wDay = datetimearray[0]; // 1 - 31
st.wMonth = datetimearray[1]; // 1 - 12
st.wYear = datetimearray[2]; // 1601 - 30827
st.wHour = datetimearray[3]; // 0 - 23
st.wMinute = datetimearray[4]; //0 - 59
st.wSecond = datetimearray[5]; // 0 - 59
SetLocalTime(&st);
´
Cómo soluciono esto?
Los compiladores de C++ multiplataforma no traen librerias con llamadas genericas para trabajar con el sistema sea cual sea, algo tipo wrapper como hacen algunos lenguajes de alto nivel? (pregunto por que no tengo ni idea)
Salu2...