我正在使用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;
为什么它不会返回我请求的字符串?我做错了什么?
提前感谢您的帮助。