Page 1 of 1
How to use strings in esp idf?
Posted: Sun Jul 30, 2017 6:53 am
by Saskia
I want to tuse the datatype STRING. But i can only do this when i include Arduino.h as a header (+ string.h).
Otherwise i get "'String' does not name a type". Is there another way without Arduino.h?
Re: How to use strings in esp idf?
Posted: Sun Jul 30, 2017 4:18 pm
by kolban
These days, I am a big fan of writing ESP32 Apps in C++ as opposed to C. I still use the ESP-IDF (not Arduino libraries).
When writing apps in C++, one has access to all the APIs exposed by newlib and ESP-IDF but in addition, a new treasure chest is opened up called the "C++ Standard Library". This is a rich set of libraries that are present with all conformant C++ implementations and the ESP32 is no exception.
Here is the WikiPedia article:
https://en.wikipedia.org/wiki/C%2B%2B_Standard_Library
and one facet of this is the class called:
std::string
see ...
https://en.wikipedia.org/wiki/C%2B%2B_string_handling
and now we have the full power of super rich string handling that "just works".
Re: How to use strings in esp idf?
Posted: Mon Mar 26, 2018 4:15 pm
by arnold.braun@gmx.de
Hello,
where can i find the strings.
this don´t work at all:
#include <string.h> or #include "string.h"
class WifiClass {
protected:
public:
string ssid[2]= { "braun","" };
std::string Host = "ESP8266_me";
class WifiClass {
protected:
public:
string ssid[2]= { "braun","" };
std::string Host = "ESP8266_me";
Re: How to use strings in esp idf?
Posted: Tue Mar 27, 2018 1:42 am
by kolban
Howdy,
The header you wish to include is
#include <string>
See also:
https://stackoverflow.com/questions/901 ... -extension
Re: How to use strings in esp idf?
Posted: Tue Mar 27, 2018 3:18 pm
by arnold.braun@gmx.de
Thanks
iit works
Re: How to use strings in esp idf?
Posted: Fri Dec 18, 2020 11:44 am
by Thanyasit
Hello
this don´t work at all:
#include <stdio.h>
std::pwmSliderValue = "0";
I am unable to call these functions.
#include <string>
#include <iostream>
Re: How to use strings in esp idf?
Posted: Fri Dec 18, 2020 5:31 pm
by davidzuhn
You are compiling main.c, which is a C source file. You should rename this to main.cpp (and update your CMakeLists.txt or Makefiles accordingly) to have the tools recognize this as a C++ source file and compile it using the C++ compiler.
BTW, it's a lot easier to read the error messages if you cut and paste the text instead of posting a screenshot.