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没有初始化的情况下才有。 展开
但如果不初始化(char buf[MAX] ={'\0'};)仅仅声明的话,在服务器端,接收到的
信息打印到终端上是乱码,
但如果初始化后,可以正确打印出客户端发来的信息,请问这是为什么?
还有,我用printf语句调试时,read函数之后,printf("%s",buf),居然执行不到这一条
命令,甚至是不会执行read后的printf("debug");这条语句,求助啊!!!
ps:read后面的printf语句执行不到,是在buf没有初始化的情况下才有。 展开
展开全部
能不能把你的程序贴上来~~这个要看了之后才能给出确定的答案~~
byte buffer [] = new byte[4*1024];
char buf[MAX];这只是声明Buf,但是你没有定义它~~~
给你举个例子:DatabaseHelper dbHelper =null;
SQLiteDatabase db = dbHelpe.geteReadableDatabase();
这里DatabaseHelper这是声明了一个 dbHelper,但是没有对他初始化,SQLiteDatabase db = dbHelpe.geteReadableDatabase();中却调用了他的一个方法,就会出现空指针异常~~~
byte buffer [] = new byte[4*1024];
char buf[MAX];这只是声明Buf,但是你没有定义它~~~
给你举个例子:DatabaseHelper dbHelper =null;
SQLiteDatabase db = dbHelpe.geteReadableDatabase();
这里DatabaseHelper这是声明了一个 dbHelper,但是没有对他初始化,SQLiteDatabase db = dbHelpe.geteReadableDatabase();中却调用了他的一个方法,就会出现空指针异常~~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询