2
我正在通過C中的套接字發送加密數據。一切工作正常,直到我意識到發送的數據的大小比它應該大的多。片的下面的代碼描述的情況:通過C socket發送原始二進制數據?
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int main() {
char temp[100], buffer[100];
int n = 1234567890;
sprintf(temp, "%d", n);
printf("Original n has size: %d\n", sizeof(n)); // 4
printf("Buffer size: %d\n", strlen(temp)); //10
printf("Buffer: %s", temp);
}
問題是原來的號碼被存儲爲一個4字節整數,而緩衝存儲由字符的字符,所以什麼將要通過套接字發送不是4個字節,而是10個一個字節的字符。
我不知道是否有任何方式發送二進制數據爲原料?