


验证什么字节序
- #include
- int main() {
- union
- {
- short value;
- char btypes[sizeof(short)];
- } test;
- test.value = 0x0102;
- if(test.btypes[0] == 1 && test.btypes[1] == 2) {
- printf("大端字节序\n");
- }else{
- printf("小端字节序\n");
- }
-
- return 0;
- }


- #include
- #include
-
- int main() {
- unsigned short a = 0x0102;
- unsigned short at = htons(a);
- printf("a: %x\n", a);
- printf("b: %x\n", at);
-
- char buf[4] = {192, 168, 1, 100};
- int num = *(int*)buf;
- printf("%x\n", num);
- unsigned int num_ts = htonl(num);
- unsigned char *p = (char*)&num_ts;
- printf("%d %d %d %d", *p, *(p+1), *(p+2), *(p+3));
- return 0;
- }







- #include
- #include
-
- int main() {
- char buf[] = "192.168.1.4";
- unsigned int num = 0;
- inet_pton(AF_INET, buf, &num);
- unsigned char* p = (unsigned char*) #
- printf("%d %d %d %d\n", *p, *(p + 1), *(p + 2), *(p + 3));
-
- char ip[16] = "";
- const char * str = inet_ntop(AF_INET, &num, ip, 16);
- printf("%s\n", str);
- return 0;
- }