返回首页

我用一个嗅探器。当我使用printf来安慰,我在屏幕上没有垃圾,当我到我的日志我有时得到垃圾首席,这似乎是对的序列号,至少有9个字符的长度。这是我的文本文件打印到什么。


文本文件(日志)...
printf的后面输出("\ n序列号:%鲁\ N",ntohl"(tcp_header-GT; seq_number))
myfile的LT,LT"\ n序列号:"LT,LT; ntohl(tcp_header-GT seq_number)的;:7766180 |会员

回答

评论会员:游客 时间:2012/02/06
最可能的原因是,控制台将取代非正规字符的空间(或null)。但与文本文件,它试图为Unicode文本呈现。所以你的问题不在于它没有显示在控制台上,但宁愿你可能不被解释正确的数据。或者它可能是一个安全的连接,因此数据将大多是无意义的(从而像垃圾)
查克・奥图尔
评论会员:游客 时间:2012/02/06
检查您的报表输出。一个字符串("序列号")都打印一个无符号长整型(ntohl()被定义为返回ULONG)和换行符("\N"),这一切。你告诉我们,有两种截然不同的线条,从上面的序列输出和一些垃圾输出。显然,你不产生垃圾输出的报表,其他一些报表。你是不是显示所有相关信息,所以是没有任何人可以做些什么来帮助你。现在,你已经加入了"\N"的myfilelt;LT;声明,你只是mimicing什么样的printf。然而,这种简单的加法没有解释为什么你必须在文件中的垃圾。加入"换行",只是给你,好,一个新行。该文件中的额外输出来自某处