像这样:
unsigned int value;
if(sscanf(begin, "FILL:%x;", &value) != 1)
printf("Parse error\n");
Run Code Online (Sandbox Code Playgroud)
我认为即使数据at begin不是字符串,即使它不包含NUL终结符,上述内容也是安全的.由于%x如果找到任何非十六进制字符将中止,则不应该有任何冒险进入内存中的la-la域的风险.我无法想出一个可能会遇到困难的案例.