I am trying to write a simple C++ program that sends an SMS message out based on its input from the user. The simple C++ program fails to do the job:
#include<stdio.h>
#include <stdlib.h> /* system, NULL, EXIT_FAILURE */
#include<iostream>
#define CTRL(x) (#x[0]-'a'+1)
using namespace std;
int main()
{
char buffer[128];
sprintf(buffer, "/opt/modemcli AT+CMGC=\"+112345678\"\rTEST%c", CTRL(z));
printf (buffer);
system(buffer);
return 0;
}
modemcli is just a simple C++ program that writes messages to the USB port and reads the response.
modemcli is simple, here is a test:
/opt/modemcli AT
Received AT
OK
My guess is CMGC is not formed properly. The format is:
AT+CMGC="PHONE_NUMBER"<CR>SMS MESSAGE BODY.<Ctrl+z>
Can someone please help me figure this out?