socket编程,出现乱码

在server端,有个buf,用于read(fd,buf,MAX),即接收客户端发来的信息,但如果不初始化(charbuf[MAX]={'\0'};)仅仅声明的话,在服务... 在server端,有个buf,用于read(fd, buf, MAX),即接收客户端发来的信息,
但如果不初始化(char buf[MAX] ={'\0'};)仅仅声明的话,在服务器端,接收到的
信息打印到终端上是乱码,
但如果初始化后,可以正确打印出客户端发来的信息,请问这是为什么?
还有,我用printf语句调试时,read函数之后,printf("%s",buf),居然执行不到这一条
命令,甚至是不会执行read后的printf("debug");这条语句,求助啊!!!
ps:read后面的printf语句执行不到,是在buf没有初始化的情况下才有。
展开
 我来答
孤单看美女
2012-08-03 · TA获得超过233个赞
知道小有建树答主
回答量:162
采纳率:0%
帮助的人:117万
展开全部
能不能把你的程序贴上来~~这个要看了之后才能给出确定的答案~~
byte buffer [] = new byte[4*1024];

char buf[MAX];这只是声明Buf,但是你没有定义它~~~

给你举个例子:DatabaseHelper dbHelper =null;
SQLiteDatabase db = dbHelpe.geteReadableDatabase();
这里DatabaseHelper这是声明了一个 dbHelper,但是没有对他初始化,SQLiteDatabase db = dbHelpe.geteReadableDatabase();中却调用了他的一个方法,就会出现空指针异常~~~
忧缴恳弛ay
2012-08-06
知道答主
回答量:4
采纳率:0%
帮助的人:6200
展开全部
你的buf不初始化的话~谁也不知道里边会有些什么东西~所以在使用它之前最好是清空一下的好~最好是把你的程序贴上来~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式