Go Down

Topic: Descomponer cifras del año en un array de 4 caracteres [Solucionado] (Read 676 times) previous topic - next topic

Heke

Hola

No consigo convertir las cifras del año que me retorna la funcion del RTC  now.year(),DEC  que es 2011 (el año en curso) en sus cuatro cifras, algo asi como:

    StringAno = (now.year(),DEC);
    FechaHora[0] = StringAno.charAt(0);
    FechaHora[1] = StringAno.charAt(1);
    FechaHora[2] = StringAno.charAt(2);
    FechaHora[3] = StringAno.charAt(3);

He probado de mil maneras, incluso el Itoa, pero todo son mensajes de conversiones invalidas de char a char* o  de INT a char*   etc... etc...

¿Alguien sabria decirme como descomponer la fecha en un array de 4 en el cual, cada posicion sea una cifra del año?

Gracias
CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

curro92

Hola,
Yo haría así para pasar un int a cadena char:

Code: [Select]

int anno;
char annotxt[5];

anno = 2011;
sprintf(annotxt, "%d", anno);


SrDonGato

Es la enésima vez que se contesta.

http://arduino.cc/forum/index.php/topic,69309.0.html

aquíe dejé la solucion hace unos dias. con la funcion calculadesdeASCII()

la utilizas como calculadesdeASCII(StringAno,posicion)
la posicion es donde esté la primera cifra., la funcion devuelve un int con el número que representa las cifras en caracteres.

Un saludo

Heke

Muchisimas gracias Curro92 y SrDonGato

He empleado el ejemplo de Curro92 y por fin !!
No se que coñas hace esa funcion (sprintf) ni la conocia, pero voy a estudiarla a ver que tiene.

SrDonGato, Si que vi tu post, y vi el ejemplo, pero no estaban las librerias, pinchaba en

calculadesdeASCII(string,posicion)
calculadesdeASCIIHEX(string,posicion)

Pero no iba a ningun enlace tampoco, por lo que supuse que estabas con ellas o las tenias en otro post,veo que hoy las has puesto.

Prometo verlas, que ya las he descargado.

Lo dicho, gracias por vuestra ayuda, por fin puedo seguir.

Un saludo

Añado aqui el codigo de la solucion de Curro92, Buenisima !!
Code: [Select]
int anno;
char annotxt[5];

anno = 2011;
sprintf(annotxt, "%d", anno);


Y aqui añado tambien el que intentaba hacer funcionar yo, que despues de cambiar tantas cosas, tambien funciona y no lo vi en su momento por el enmierde de codigo que habia hecho, que , habia cambiado valores, pero bueno, esto tambien tira:
Code: [Select]

    String StringAno = "0000";

    StringAno = (now.year());        //  Esto es 2011
    FechaHora[0] = StringAno.charAt(0);    // Esto es 2
    FechaHora[1] = StringAno.charAt(1);    // Esto es 0
    FechaHora[2] = StringAno.charAt(2);    // Esto es 1
    FechaHora[3] = StringAno.charAt(3);    // Esto es 1

CUIDADO !! MIS POST NO SON APTOS PARA MENORES. SI ERES MENOR DE 14 AÑOS DEBES DE LEERLOS ACOMPAÑADO DE UN ADULTO

SrDonGato

acabo de leer mejor y creo que lo que quieres es justo lo contrario ...

[edito]

Así es :D además estamos escribiendo a la vez :D
el link que te escribo es para hacer justo lo contrario, crei que te daba el valor en char y querias pasarlo a int.

Un saludo



Go Up