Как экранировать двойные кавычки

Тема в разделе "Arduino & Shields", создана пользователем Леонид_19.03.2008, 19 май 2018.

Метки:
  1. Код (C++):
    void setup() {
      Serial1.begin(115200);
      delay(1000);
      Serial1.write("AT");
      delay(1000);
      Serial1.write("AT+CWMODE_DEF=3");
      delay(1000);
      Serial1.write("AT+CWSAP_CUR="LeoWiFi","19032008",5,3");
    }

    void loop() {
      // put your main code here, to run repeatedly:

    }
    Хочу в 8 строке экранировать кавычки вокруг LeoWiFi и 19032008. Слешем не получается.
     
  2. Belkin

    Belkin Гик

    Надо, чтоб "" в передаче остались ?
    Подготовить заранее строку в нужном виде и вставлять при передаче.
    Будет типа:
    Serial1.write("AT+CWSAP_CUR=,<строка1>,<строка2>,5,3")

    Только с количеством "" внутри скобок разберитесь, что-то у вас не так... ;)
     
  3. AT+CWSAP_DEF="ESP8266","1234567890",5,3
    Вот это всё должно быть 1 строкой
     
  4. Belkin

    Belkin Гик

    Я не пишу на Си, но направление указал.
    Выполняйте предварительную подготовку строки путем сложения необходимых частей.
    Кавычки (при сложении) замените на chr(34) для правильного выполнения операции.
    Будет выглядеть примерно так:
    "AT+CWSAP_DEF=" + chr(34) + "ESP8266" + chr(34) + "," + chr(34) + "1234567890" + chr(34) и т.д.

    Под Си-шный синтаксис подправьте сами.
     
  5. AlexU

    AlexU Гуру

    Вот это новость....
    Для экранирования символов используется обратный слэш -- '\':
    Код (C++):
    Serial1.write("AT+CWSAP_CUR=\"LeoWiFi\",\"19032008\",5,3");
    Второй вариант -- удваивание кавычек:
    Код (C++):
    Serial1.write("AT+CWSAP_CUR=""LeoWiFi"",""19032008"",5,3");
    Вот лучше бы этого не делали.
     
  6. Блин, спасибо, на курсы программирования ходил и всё забыл
     
  7. BAR__MEN

    BAR__MEN Вселенский Няш Администратор

    Плохо ходили...
     
  8. Belkin

    Belkin Гик

    Что такого крамольного я совершил, плиз ?
     
  9. Ходил полгода назад