Я разрабатываю проект на своей плате arduino, для моей проекции идеи я написал код в C++
. Но некоторые файлы и функции библиотеки не были найдены на IDE arduino, которые, как мне известно, находятся в C++
.Преобразование кода на C++ в arduino с файлами и функциями заголовка строки и потока
Я прилагаю код ниже. Я хочу преобразовать весь код в arduino, в котором только convertToEnglish
останется как функция в arduino. Я попытался заменить файлы заголовков и другие функции на библиотеку строк и другой файл заголовка Stream.h
, но почти все оказалось напрасно. Следовательно, чтобы превысить это, пожалуйста, укажите мне решение. Я пробовал использовать Standard c++ в качестве цитаты, но все же функция getline fucntion сообщает об ошибке, указывающей, что 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"
E: \ мозг \ Arduino \ sketch_mar15a \ Blink \ Blink \ Blink.ino: в функции 'INT Main()':
моргания: 19: ошибка: 'CIN' не был объявлен в этой области
getline(cin, input);
^
статус выхода 1 'CIN' не был объявлен в этой области
Этот отчет будет содержать более подробную информацию с «Показывать подробный вывод во время компиляции». опция включена в файле -> Настройки.
В чем проблема? – SergeyA
Строковые и sstream файлы заголовков не могут быть найдены в arduino ide. Если не ват - другие файлы заголовков, которые нужно использовать для получения того же выхода – SathyaNarayanan
Возможный дубликат [Векторы в Arduino] (http://stackoverflow.com/questions/9986591/vectors-in-arduino) – willll