繁体   English   中英

将从C收到的字符串转换为Java字符串

[英]Convert String received from C to Java String

我想转换从C发送的字符串,并在Java中将其作为字符串值接收。

这是我在C中发送字符串的代码。

strcpy(buffer,"hello");
send(clientSocket,buffer,4096,0);

和我的代码来接收Java中的字符串。

BufferedReader in = new BufferedReader(new InputStreamReader(LoginActivity.getSocket().getInputStream()));
String str = in.readLine();

但是,当我敬酒时,str值以奇怪的符号出现。 我该如何解决?

你应该改变

send(clientSocket,buffer,4096,0); 

send(clientSocket,buffer,strlen(buffer)+1,0);

这样,您只发送字符串,而不发送整个缓冲区。

而且我认为

in.readLine()

挂起期待不是字符串发送的换行符。

您应该使用InputStreamReader(InputStream in, String charsetName)构造函数版本,并传递用于在C中创建文本的charsetName

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM