String automatisch verändern.

#5531709
Lesenswert?

Hallo
Ich stehe vor dem Problem das ich für eine SD karte den Datei namen 
jeden Tag ändern möchte.
Das Datum ist nicht das Problem.
viel mehr das ändern der String kette für den namen.

Einer meiner letzten gemachten versuche war wie folgt:

char Dateiname [] = "0000000.CSV";
char zahl = (0);

void setup() {
  Serial.begin(9600);

  if (!SD.begin(4)) {
    Serial.println("Karte nicht erkannt");
    while (1);
  }
  Serial.println("Karte ok");
}

void loop() {
  delay(1000);
  zahl++;
  Dateiname [0] = '1';
  Dateiname [1] = zahl;
  Dateiname [2] = '3';
  Dateiname [3] = '4';
  Dateiname [4] = '5';
  Dateiname [5] = '6';
  Dateiname [6] = '7';
    Serial.println(Dateiname);

  File dataFile = SD.open(Dateiname, FILE_WRITE);

  if (dataFile) {
    dataFile.println(Dateiname);
    delay(50);
    dataFile.close();
    Serial.println(Dateiname);
  }
  else {
    Serial.println("Kann nicht gelesen werden");
  }

Leider wird die variable zahl nicht angenommen und endet als 
undefiniertes Zeichen.

(134567.CSV) oder oder als 1%34567.CSV

Hat Jemand eine hilfreiche Idee wie ich das einfach lösen kann ?
Ich habe schon versucht die variable zahl als folat und char zuspeichern 
ändert aber nix.
Und ja ich weiß das es nach 9 überlaufen würde aber so weit kommt es ja 
noch nicht.

Hilfe ??

Danke
Gast #5531733
Lesenswert?

Vielleicht in Anlehnung and das hier?
1
sprintf (Dateiname, "%06d.CSV", zahl);

und diesen Mist hier weglassen?
1
  Dateiname [0] = '1';
2
  Dateiname [1] = zahl;
3
  Dateiname [2] = '3';
4
  Dateiname [3] = '4';
5
  Dateiname [4] = '5';
6
  Dateiname [5] = '6';
7
  Dateiname [6] = '7';

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren