如从 “HTTP/1.1 200 OK” 中获取200。
//buf 模拟响应头
char buf[]="HTTP/1.1 200 OK";
int code=-1;
char *p=strstr(buf,"HTTP/");
if(p)
sscanf(p,"%*s %d",&code);
通过strstr(str1,str2)函数判断HTTP/是不是buf的子串,如果是,返回HTTP/在buf中首次出现的地址,没有的话,返回NULL。
sscanf函数,以buf为输入数据,按照"%*s %d"的格式,格式化输入数据,将结果存储到code变量中。
*s表示字符串会被忽略,不会被获取,%d表示获取数字。

本文介绍了一种从HTTP响应头中解析状态码的方法,使用strstr和sscanf函数定位并读取“200 OK”等状态码,适用于网络编程和HTTP协议解析的学习。
234

被折叠的 条评论
为什么被折叠?



