Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c中的gethostbyname与gethostbyname(“www.google.com”)一起使用,但与my char不一起使用*_C_Sockets_Gethostbyname - Fatal编程技术网

c中的gethostbyname与gethostbyname(“www.google.com”)一起使用,但与my char不一起使用*

c中的gethostbyname与gethostbyname(“www.google.com”)一起使用,但与my char不一起使用*,c,sockets,gethostbyname,C,Sockets,Gethostbyname,gethostbyname在执行gethostbyname(“www.google.com”)时起作用,但在执行类似操作时: char *name = "www.google.com"; gethostbyname(name); 连接正在超时。我要确保在函数之前对字符串进行修剪,以确保其中没有任何时髦的字符。我不明白这个问题。#包括 #include <stdio.h> #include <netdb.h> int main() { char *name

gethostbyname
在执行
gethostbyname(“www.google.com”)
时起作用,但在执行类似操作时:

 char *name = "www.google.com";
 gethostbyname(name);
连接正在超时。我要确保在函数之前对字符串进行修剪,以确保其中没有任何时髦的字符。我不明白这个问题。

#包括
#include <stdio.h>
#include <netdb.h>

int main()
{
    char *name = "www.google.com"; 
    struct hostent* test = gethostbyname(name);
    printf("%s\n", test->h_name);
    return 0;

}
#包括 int main() { char*name=“www.google.com”; struct hostent*test=gethostbyname(名称); printf(“%s\n”,test->h\u name); 返回0; }
这是我尝试过的,效果很好:

www.google.com


可能会显示代码,我们可以看看问题是否出在其他地方。

您可以显示代码吗?
gethostbyname()
在大多数平台上都不推荐使用,您应该使用
getaddrinfo()
。好的名称来自fgets(name,255,stdin),我相信问题是“\r”正在从
man fgets
:>“如果新行被读取,它将被存储到缓冲区。”所以,是的,可能就是这样,我希望它被修复了!