Чтение текста построчно с SD

Почему следующий код возвращает эту ошибку? Как мне это сделать?

Ошибка: статус выхода 1, недопустимое преобразование из 'const char*' в 'char' [-fpermissive]

#include "FS.h"
#include "SD.h"
#include "SPI.h"

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

  if (!SD.begin(33)) {
    Serial.println("Card Mount Failed");
  } else {
    Serial.println("Card Mount Succeeded");
  }

  File offline = SD.open("/offlineLog.txt", FILE_READ);

  while (offline.available()) {
    String line = offline.readStringUntil("\n");
    Serial.println(line);
  }
}

В документации сказано, чтоstream.readStringUntil возвращает строку...

, 👍1


1 ответ


Лучший ответ:

2

Ошибка не имеет ничего общего с тем, что возвращает readStringUntil. Это связано с тем, какие параметры он принимает.

Функция ожидает, что будет найден один символ. Вместо этого вы передаете ему строку (строку C), содержащую один символ.

В C вы представляете строку (char *) с помощью "" и один символ (char) с помощью ' '.

Поскольку readStringUntil ожидает char, а не char *, вам необходимо использовать '':< /п>

String line = offline.readStringUntil('\n');
,

Спасибо! Хотелось бы, чтобы сообщение об ошибке было более наглядным., @Daemach