Помогите с текстовыми строками.
- Войдите на сайт для отправки комментариев
Привет всем !
Помогите разобраться со строками в IDE
Суть такая :
#include <...>
const char _s_str5[]= "System : Error command. Call :";
...
void setup()
{ ... }
void loop {
char textSMS[128];
char *accesseNum = "+7123456789";
...
memset(textSMS,(char)0,sizeof(textSMS));
strcpy(textSMS,_s_str5);
strcat(textSMS,accesseNum);
m_GSM.sendSMS("+798765432",textSMS);
void m_GSM.sendSMS(const char *,const char *){...}
--------------------------------------------------------------
1. Модем не понимает, что за строка к нему пришла, но хочет ASCII.
2. Serial.print выдает все хорошо: System : "Error command. Call : +798765432"
Пробовал засунуть в String и вернуть String::c_str() - не помогают.
1/ На мой взгляд при инициализации _s_str[5] строкой - это не ASCII
Ведь могу же я в IDE печатать по-китайски, a потом по-вьетнамски.???
Так как быть, если в модем надо засунуть простую строку ASCII
Можно посмотреть, что выйдет в сериал порт из textSMS после Этого пассажа?
memset(textSMS,(char)0,sizeof(textSMS));
strcpy(textSMS,_s_str5);
strcat(textSMS,accesseNum);
Serial.print - все нормально.
В Билл Гейтс С++ есть макрос : T("ля-ля-тополя") и я точно знаю, что 1 байт - один символ. А тут у IDE кодировка UTF-8/ И фиг знает, может ОНИ адаптировали strstr strchr ... и т.д. и по 2 байта на символ.
Почему спрашиваю - модем Neoway 590 плюется сердечками и закарючками в ответ. Или монитор порта ...вот ведь блин. А SMS до адрессата - все норм.