사용자의 입력을 기반으로 SMS 메시지를 보내는 간단한 C++ 프로그램을 작성하려고합니다. 간단한 C++ 프로그램은 일을 실패C++ 프로그램을 통해 CTRL-Z를 보냅니다.
#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 그냥 USB 포트에 메시지를 기록하고 응답을 읽는 간단한 C++ 프로그램입니다.
modemcli is simple, here is a test:
/opt/modemcli AT
Received AT
OK
내 생각에 CMGC가 제대로 형성되지 않았습니다. 형식은 다음과 같습니다.
AT+CMGC="PHONE_NUMBER"<CR>SMS MESSAGE BODY.<Ctrl+z>
누군가이 문제를 해결할 수 있습니까?
왜 그 복잡한 매크로가 아니라 단지 '26'입니까? –
합리적인 것 같지만 실제 문제입니까? – user7459730
나는 그것을 다음과 같이 변경했다 : AT + CMGC = "+ 112345678"\ 013TESTTEST \ 026 그러나 여전히 올바른 방법으로 작동하지는 않는다. 어떤 아이디어? – user7459730