String to Char Probleme

Guten morgen, wer könnte helfen, ich komme einfgach nicht weiter.
Üben tue ich gerade mit sdFat.h

Ich lese die Serial als String ein

String rec_str; 
rec_str = Serial.readStringUntil('\r');

Und muss jetzt den rec_str kopieren nach char

char MyFile_Name[12];  
MyFile_Name , rec_str;  //<=== Fehler 

Weil ich eine neue Datei mit meinen filename test.txt auf meine SD Card schreiben möchte.
Das geht super

  if (!file.open("test.txt", O_RDWR | O_CREAT))

Aber wenn ich selber einen filename über die Serialle sende, geht es nicht.

  if (!file.open(MyFile_Name , O_RDWR | O_CREAT))

So wie ich das als Neuling verstehe braucht die Funktion zum erstellen
einer neuen Datei ein char* oder wie man das nennt.

bool FatFile::open(const char* path, oflag_t oflag) {
  return open(FatVolume::cwv(), path, oflag);
}

Wie bekomme ich jetzt den Empfangstring in mein MyFile_Name.

Gruß Schuby

strlcpy(MyFile_Name, rec_str.c_str(), sizeof MyFile_Name);

aber warum brauchen Sie eine Kopie? Sie können einfach verwenden rec_str.c_str()

1 Like

Danke J-M-L du hast mir geholfen. Es geht jetzt mit deinen String

strlcpy(MyFile_Name, rec_str.c_str(), sizeof MyFile_Name);

Tja warum nehme ich das nicht rec_str.c_str() Fragst du,
weil ich Anfänger bin und muss viel üben.

Danke für deine Hilfe

Gruß Schuby

Auf welchem Controller soll das laufen?
String macht auf kleinen Controllern Probleme, wenn der Ram "zerfleddert" wird und irgendwann reicht der Speicher nicht mehr.

Ich übe hier mit Platformio und einen Adafruit MetroM4 Grand Central

Gruß Schuby

Gute Entschuldigung :slight_smile:

Der ist schon etwas größer. :+1:
Wenn Du die Variable als global anlegst und mit rec_str.reserve() Dir einen Bereich fest vergibst, dann sollte das funktionieren.

Sollte das wirklich Entschuldigung oder Entscheidung heißen?

Es ist eine verbreitete Redewendung auf Französisch.... Ich weiß nicht, ob das gut übersetzt werden kann.

Im übertragenen Sinne wird sie jedoch oft ironisch verwendet, um Zweifel oder Skepsis hinsichtlich der Gültigkeit oder Ehrlichkeit der gegebenen Ausrede auszudrücken.

1 Like

Dann ist es Entschuldigung
Und hört sich besser an als das Wort "Ausrede" :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.