iT邦幫忙

0

C語言 我要怎麼取得buffer裡的數字設定給int size

  • 分享至 

  • xImage

for(i=0; i<sizeof(buff); i++)
{
recv(sockfd, buff+i, 1, 0); //+i是因為資料會從前面掉出去
if(i>=1 && memcmp(buff+i-1, "\r\n", 2)==0)
break;
}

        buff[i-1]='\0';
        
       //現在buff裡是9\0 我想把9賦值給int size
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

0
海綿寶寶
iT邦大神 1 級 ‧ 2023-10-19 14:30:48
最佳解答
#include <stdio.h>
#include <stdlib.h>

int main()
{
    char buff[4] = {'9','8','0','\0'};

    int size;
    size = atoi(buff);
    printf("size=%d\n", size);

    return 0;
}

另外
這裡用 \0 判斷
而前面的 if 用 \r\n 判斷
沒意外的話
應該還是會錯...

recv寫在for迴圈裡面
也是另一個雷點...

我要發表回答

立即登入回答