Чтение текста построчно с 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 возвращает строку...
@Daemach, 👍1
1 ответ
Лучший ответ:
▲ 2
Ошибка не имеет ничего общего с тем, что возвращает readStringUntil
. Это связано с тем, какие параметры он принимает.
Функция ожидает, что будет найден один символ. Вместо этого вы передаете ему строку (строку C), содержащую один символ.
В C вы представляете строку (char *
) с помощью ""
и один символ (char
) с помощью ' '
.
Поскольку readStringUntil
ожидает char
, а не char *
, вам необходимо использовать ''
:< /п>
String line = offline.readStringUntil('\n');
,
@Majenko
Смотрите также:
- Arduino создает массив Json с двойными значениями и 2 десятичными знаками
- Ошибка при компиляции программы для esp32 с Preferences.h
- Функция запуска при срабатывании
- Как настроить пул DHCP для ESP-WIFI-MESH?
- Можно ли получить значения только во время вибрации/движения с акселерометра (ADXL335/MPU6050)?
- Лучшая модель данных/концепция для хранения многодневного будильника для часов?
- Простая программа ESP to ESP reading blink не считывает входное напряжение
- Модуль ESP32 DEV с фиксированным IP-адресом и OTA
Спасибо! Хотелось бы, чтобы сообщение об ошибке было более наглядным., @Daemach