Почему я получаю 0 вместо значения мусора
blockquote>Почему вы думаете, что 0 не является значением мусора? Нет никакой гарантии, что значение мусора не равно 0. 0 является абсолютно допустимым значением для мусора.
Тем не менее, вы не печатаете ничего, что имеет мусорное значение. Между элементами массива нет заполнения, и сам элемент
int
не содержит заполнения, и в массиве нет неинициализированных объектов.
int
состоит из одного или нескольких байтов. В вашей системе это 4 байта.p+0
указывает на первый байт,p+1
указывает на второй байт,p+4
указывает на первый байт второго целого числа. Если ни первый, ни второй байт не имеют значения 0, то целое число не может быть равно 1.чтение значений между двумя индексами
blockquote>Между элементами массива нет пробела, поэтому читать нечего. Вы читаете разные части элемента в массиве.
(рассмотрим в точке A, мы должны получить целочисленное значение, равное последним 3 байтам первого байта [i] + a [1]).
blockquote>Вы можете добиться этого следующим образом:
int i; std::memcpy(&i, p + 1, sizeof i); std::cout << i;
Да, я думаю, что самый простой путь получил бы последовательный модем GSM, или телефон GSM с последовательным соединением и SIM-карту. Некоторые USB могут работать, но лучше получают последовательный и остаются на безопасной стороне.
Последовательным модемам не нужны никакие драйверы, просто необходимо соединиться через последовательный порт (/dev/tty...) и вывести там команды...
Кроме того, если Вы хотите это легче, можно установить Инструменты SMS, доступные на Linux. Они упаковываются с легким именем 'smstools' в Ubuntu, Debian и других Дистрибутивах.
Последняя версия является номером 3, и можно получить некоторую информацию об этом сайте: http://smstools3.kekekasvi.com/
Если Вам нравится, чтобы сделать это самим и использовать Ваш старый мобильный телефон, попробуйте этот рецепт :-)
Существует реальное преимущество в этом подходе по использованию некоторого почтового сервиса SMS: проблемы компьютерной сети не влияют на локальное оборудование. Особенно важно при использовании SMS для контроля сервера.
Каждая компания сотового телефона предлагает адреса электронной почты для отправки сообщений SMS в телефоны. Например, Verizon использует что-то как 55512345678@vtext.com для отправки сообщений. Все, что необходимо сделать, является находкой список почтового домена каждого поставщика, и затем узнайте сервис, который подписывает пользователь. После этого просто отправьте SMS как обычное электронное письмо. Это - то, как большая часть программного обеспечения делает это.
Так как Вы, вероятно, ищете литовский сервис (судящий по Вашему имени), изучаете www.gsms.lt.
самый простой путь состоит в том, чтобы использовать модем GPRS или пул модемов. Больше усовершенствования - покупает услугу шлюза в сетевом операторе ячейки.