小编use*_*094的帖子

sockaddr_in未声明的标识符

我正在关注beej的网络指南,它一直很好,因为我对一切都很了解,他解释得很好.然而,当我想测试他向我展示的一些很酷的东西时,它将无法正常工作!:(

我不确定sockaddr_in到底在哪里宣布,但也许有人会这样帮助我!

这是我到目前为止(测试将字符串形式的ip转换为ip到4字节的积分,反之亦然):

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netdb.h>

int main(void)
{
  sockaddr_in sin;

  inet_pton(AF_INET, "192.168.2.1", &sin.in_addr);
  char ip[INET_ADDRSTRLEN];
  inet_ntop(AF_INET, &sin.in_addr, ip, INET_ADDRSTRLEN);
  printf("%s\n", ip);

  return 0;
}
Run Code Online (Sandbox Code Playgroud)

对我来说,如果这对我来说真是愚蠢的话,我完全无能为力,对不起!

编辑:我正在使用名为Mint的Linux Debian发行版,如果它有帮助的话?

c sockets

13
推荐指数
2
解决办法
5万
查看次数

更好的方法是确保4个随机值根本不相等?

我有一个qt表单,有一个乘法问题和4个按钮.4个按钮(选项)是随机生成的,问题也是如此.

我只想将4个选项随机化,因此它们是随机的,但它们都不等同于其他选择.这就是我现在正在做的事情,但是效果并不好:

while (choice1 == choice2 || choice1 == choice3 || choice1 == choice4)
    choice1 = (rand() % max) + 1;
while (choice2 == choice1 || choice2 == choice3 || choice2 == choice4)
    choice2 = (rand() % max) + 1;
while (choice3 == choice1 || choice3 == choice2 || choice3 == choice4)
    choice3 = (rand() % max) + 1;
while (choice4 == choice1 || choice4 == choice2 || choice4 == choice3)
    choice4 = (rand() % max) + 1;
Run Code Online (Sandbox Code Playgroud)

还有其他人有更好的方法吗?

c++

1
推荐指数
1
解决办法
97
查看次数

标签 统计

c ×1

c++ ×1

sockets ×1