我正在为我正在制作的程序使用 AT 命令,并且无法使用 sscanf() 函数解析它们。
例如,如果我接受这个命令:
"AT\r\r\nOK\r\n"
我想: * 在第一次调用时,只获取“AT”部分,丢弃后面的“\r”字符并知道到目前为止已经读取了多少个字符。* 在第二次调用中,只获取“OK”部分,丢弃“OK”字符串之前和之后的“\r\n”字符,并知道到目前为止已经读取了多少个字符。
我编写了以下 sscanf 函数调用:
index = 0;
sscanf(buffer + index, "%*[\r\n]%[^\r]\r%*[\n]%n", new_buffer, &count);
index += count;
为什么它不返回我请求的字符串?我究竟做错了什么?
预先感谢您的帮助。