Вопросы

Преобразование кода c++ в arduino со строковыми и потоковыми заголовочными файлами и функциями

Я разрабатываю проект на своей плате ардуино, для своего проецирования идеи я написал код в C++. Но некоторые библиотечные файлы и функции не были найдены в IDE arduino, которые, насколько мне известно, находятся в C++.

Я прилагаю код ниже. Я хочу преобразовать весь код в arduino, в котором только convertToEnglish останется как функция в arduino. Я пытался заменить заголовочные файлы и другие функции строковой библиотекой и другим заголовочным файлом Stream.h, но почти все закончилось напрасно. Следовательно, чтобы преодолеть это, пожалуйста, процитируйте мне решение. Я попытался использовать Standard C++, как указано в кавычках, но все же функция getline сообщает об ошибке, указывающей, что cin не был объявлен в сфера.

#include <StandardCplusplus.h>
#include <system_configuration.h>
#include <unwind-cxx.h>
#include <utility.h>



#include <iostream>
 #include <string>
#include <sstream>
using namespace std;

 string convertToEnglish(string morse, string const morseCode[]);

int main()
{
string input = "";
cout << "Please enter a string in morse code: ";
getline(cin, input);

string const morseCode[] = {".-", "-...", "-.-.", "-..", ".", "..-.",
"--.", "....", "..", ".---", "-.-", ".-..", "--", "-.", "---", ".--.", "--.-",
".-.", "...", "-", "..-", "...-", ".--", "-..-", "-.--", "--.."};

cout << convertToEnglish(input, morseCode) << endl;


return 0;
}

 string convertToEnglish(string morse, string const morseCode[])
 {
 string output = "";
 string currentLetter = "";
 istringstream ss(morse);

size_t const characters = 26;

while(ss >> currentLetter)
{
    size_t index = 0;
    while(currentLetter != morseCode[index] && index < characters)
    {
        ++index; //increment here so we don't have to decrement after the loop like if we put in the condition
    }

    output += 'A' + index;
}

return output;
}

сообщение об ошибке: Arduino: 1.6.8 (Windows 8.1), плата: «Arduino/Genuino Uno»

Читать:
Найдите будильник с именем в Cloudwatch

E:\brain\arduino\sketch_mar15a\Blink\Blink\Blink.ino: В функции ‘int main()’:

Мигание: 19: ошибка: «cin» не был объявлен в этой области

 getline(cin, input);

         ^

статус выхода 1 ‘cin’ не был объявлен в этой области

В этом отчете будет больше информации, если в меню «Файл» -> «Настройки» включена опция «Показать подробный вывод во время компиляции».

в чем именно проблема?:   —  person satabios    schedule 18.04.2016

Файлы заголовков string и sstream не могут быть найдены в arduino ide. Если нет, то другие заголовочные файлы используются для получения того же вывода.   —  person satabios    schedule 18.04.2016

Возможный дубликат векторов в Arduino   —  person satabios    schedule 18.04.2016

Вы должны поменять порядок тестов currentLetter: до index < characters и после currentLetter != morseCode[index]. В противном случае вы можете получить доступ к morseCode[26]   —  person satabios    schedule 19.04.2016

Похожие записи

Ошибка установки PySide с командой python setup.py egg_info не удалось с кодом ошибки 1

admin

RuntimeError: исключение игнорируется в: ‹function _ProactorBasePipeTransport

admin

Изменить цвет фона ScrollView SwiftUI

admin

Фигурные скобки Powershell и переменные не анализируются

admin

Ошибка трассировки: ModuleNotFoundError: нет модуля с именем tenorflow.keras

admin

Измените ‘aaa’ из легенды geom_text на соответствующий текст метки

admin