C ++ соединяется только с sockaddr, без sockaddr_in, как?

0
#include<stdio.h>
#include<arpa/inet.h>

void socktry_fnc(){

    void *buf;

    inet_pton (AF_INET, "192.168.1.100", buf);

    printf ("%c\n", (char *)buf);
}

Ошибка сегментации

В чем проблема?

  • 2
    Попробуйте выделить место для буфера: char buf[sizeof(struct in6_addr)];
Теги:
pointers

1 ответ

0

Формально у вас неопределенное поведение, потому что вы читаете (формально, вызывая "lvalue to rvalue conversion") из неинициализированной переменной (buf, чтение происходит при передаче параметров inet_pton).

Комментарий Джонни показывает решение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню