I got a String
which as I understand is an Arduino object, and got some C++ code:
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <string.h>
LiquidCrystal_I2C lcd(0x20,16,2);
boolean borrar = false;
String IP;
void setup()
{
lcd.init();
lcd.backlight();
pinMode(13,OUTPUT);
Serial.begin(9600);
Serial1.begin(9600);
}
void loop() {
while (Serial1.available()) {
char caracter = Serial1.read(); //Comprobamos el caracter
switch(caracter) {
default:
if (borrar) {
IP = "";
lcd.clear();
}
lcd.print(caracter);
delay(125);
borrar = false;
IP.concat(caracter);
break;
case '\r':
case 0x0F:
case 0x0A:
String res = "";
borrar = true;
int num= atoi(IP.c_str());
if (num < 127)
res="Clase A";
if (num == 127)
res="Direccion reservada";
if (num > 127 && num < 192)
res="Clase B ";
if (num >= 192 && num < 224)
res="Clase C ";
if (num >= 224 && num < 240)
res="Clase D ";
if (num >= 240 && num < 255)
res="Clase E ";
break;
} //fin switch
}//serial disponible
}//fin programa
However, this won't compile because of this line:
int num= atoi(IP.c_str())
As IP is a String
and such method works for string
. How can I make it compatible (convert it)?