我正在编写一些使用gethostbyname()函数的代码。这个函数要求我传递一个我试图找到主机的主机的字符串。现在我将我的字符串声明为一个字符数组,末尾有一个空字节,因此它被认为是一个字符串。
当我执行这样的printf时:printf("\n%s\n",hostName);
代码将正确打印并说出如下内容:facebook.com
但是当我尝试打印这样的字符串时:printf("\n%sX\n",hostName);
由于某种原因,输出将为Xacebook.com
。
有谁知道为什么X会覆盖我的字符串的第一个字符?我认为它应该打印像“facebook.comX”。
答案 0 :(得分:4)
你在字符串的末尾有一个\ r \ n。这会将光标移回到行的开头。我猜你正在从文件中读取主机名吗?