中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

LINUX C獲取圖片數據失敗原因

發布時間:2020-06-26 02:53:35 來源:網絡 閱讀:574 作者:虎皮喵的喵 欄目:系統運維

char buffer[1024]={0};
char p = malloc(1024300);
char *q = p;
printf("---p: %p, q: %p--- \n", p, q); //打印查看p ,q地址
unsigned int recvsize = 0;
while(1)
{
int ret = read(sockfd, buffer, 1024); //獲取服務器的信息
if(ret <= 0) break;
memcpy(q, buffer, ret); //拷貝數據
q+=ret; //地址偏移
recvsize+= ret; //總字節
memset(buffer, 0, sizeof(buffer)); //清空內存,為下次寫入準備
}
printf("ED---p: %p, q: %p--- \n", p, q); //打印地址信息

q = strstr(p, "r\n\r\n")+4;    //ERROR 
/* q = strstr(p, "\r\n\r\n")+4;   // TRUE  偏移指針 獲取"\r\n\r\n"后面的圖片有效數據*/

printf("RED---p: %p, q: %p--- \n", p, q);
printf("recvsize:%d\n", recvsize);
FILE*file = fopen(pic, "w+");
fwrite(q, recvsize-(q-p), 1, file);
fclose(file);
free(p);

運行結果:

LINUX C獲取圖片數據失敗原因

原因分析:
請求格式是以"\r\n\r\n"結束,而 q = strstr(p, "r\n\r\n")+4; 少了個'\', 因此strstr返回NULL, 因此,q的地址為0x4;所以一直無法為后面的操作提供有效的圖片數據

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

涿鹿县| 买车| 勃利县| 宜城市| 尉氏县| 佛教| 尼木县| 平乐县| 拉孜县| 旬阳县| 新野县| 疏附县| 保靖县| 大兴区| 大连市| 英山县| 永德县| 陇西县| 岳普湖县| 濉溪县| 安溪县| 兰溪市| 安仁县| 卢龙县| 宁国市| 乌拉特中旗| 汪清县| 来安县| 新竹县| 静宁县| 中西区| 龙门县| 手游| 尼木县| 明光市| 通河县| 蓝田县| 南召县| 玉田县| 松阳县| 渑池县|