Ayuda con string y char*

Muy buenas a tod@s,

estoy intentando guardar ficheros diarios de datos en una tarjeta SD, para nombrar los ficheros voy a utilizar la fecha del día en cuestión (obtengo sin problemas la fecha y hora del reloj), pero tengo un problema con el método SD.open(char*, mode).

Cuando compongo el nombre del fichero lo hago de la siguiente manera:
String dia = 20, mes=09, anio=2012;
String nombrefichero = "";
nombrefichero =dia;
nombrefichero += mes;
nombrefichero += anio;
nombrefichero += ".txt";

pero el método SD.open(nombrefichero, mode); no lo permite el compilador!!!!

en camibo si hago:
char* nombrefichero = "19092012.txt";
SD.open(nombrefichero, mode); crea el fichero sin problemas
en cambio no puedo concatenar (+=) elementos char*,como lo hago con String.

que manera hay de pasar de String a char*?¿?¿
o alguna manera alternativa de crear el fichero con la fecha del día que no esté teniendo en cuenta?¿?

Saludos.

Busca la documentación de StringObject, hay una función para pasarlo a un arreglo de char, sin embargo en tu caso es posible hacerlo sin String, solo debes añadir cada caracter en el arreglo en orden y añadir '\0' al final

Muy buenas,
ya he conseguido pasar de string a char*, por vaguería no miré lo suficiente y con una simple función se consigue fichero.toCharArray(nombrefichero,13); (SOLUCIONADO)

una vez que tengo creado el fichero, al escribir sobre él, que función me recomendariais ¿dataFile.println(); o dataFile.write();? con dataFile.println() estoy teniendo problemas y me salen caracteres raros cuando escribo, ¿a que puede ser debido?

Saludos

Armiduguel:
por vaguería no miré lo suficiente

Por vaguería ahora no has probado suficiente. De seguro puedes resolver eso último en un par de pruebas.

Hola,
puedes formatear el nombre del fichero en simple C, sin usar String

    int dia = 20;
    int mes = 9;
    int anio = 2012;
    char nombrefichero[13];

    sprintf(nombrefichero, "%.2d%.2d%d.txt", dia, mes, anio);
    // el resultado es: 20092012.txt

Para dia, mes y año yo utilizaría variables numéricas, aunque se pueda hacer también con cadenas de caracteres.