我想转换从 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();
但是,当我 toast 时,str 值以奇怪的符号出现。我该如何解决这个问题?
最佳答案
你应该改变
send(clientSocket,buffer,4096,0);
到
send(clientSocket,buffer,strlen(buffer)+1,0);
用这种方式你只发送你的字符串,而不是整个缓冲区。
另外我觉得
in.readLine()
挂起等待一个不是字符串发送的换行符。
关于java - 将从 C 接收到的字符串转换为 Java 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44176171/