【问题标题】:What is causing my output to be so messy?是什么导致我的输出如此混乱?
【发布时间】:2015-10-11 06:48:20
【问题描述】:

我目前正在从 android 设备读取传感器值,并将它们流式传输到连接的 pc 客户端。

bzero(buffer,256);

//fgets(buffer,255,stdin);
n = write(sockfd,buffer,strlen(buffer));
if (n < 0) 
     error("ERROR writing to socket");
while(1){   
    bzero(buffer,256);
    n = read(sockfd,buffer,255);
    if (n < 0) 
        error("ERROR reading from socket");
   sleep(1);
    printf("%s\n",buffer);
}
close(sockfd);
return 0;}

用于输出数据的 PC 客户端的代码。

while(!stopFlag){
    try {
       out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())), true);

      //  out.printf(String.valueOf(accel[0]),accel[1],accel[2]);
        out.printf(String.valueOf(d.format(accel[0]))+"   "+String.valueOf(d.format(accel[1]))+"  "+String.valueOf(d.format(accel[2])) + " Accelerometer   " + "\n");
        out.printf(String.valueOf(d.format(gyro[0]))+"   "+String.valueOf(d.format(gyro[1]))+"  "+String.valueOf(d.format(gyro[2]))+ " Gyroscope   " + "\n");
        out.printf(String.valueOf(d.format(magnet[0]))+"   "+String.valueOf(d.format(magnet[1]))+"  "+String.valueOf(d.format(magnet[2]))+" Magnetometer   "+ "\n\n");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
}

正在发送的传感器值的代码片段。

  1. 我该如何解决这个问题,或者有什么更简洁的方法来输出数据? [已解决]

  2. 另外,我如何将输出写入 csv 格式的文件。我环顾四周,但仍然不太确定如何读取传感器值,因为我有一个 4x4,即传感器值和传感器名称,如上图所示。

  3. 如果我要在客户端添加延迟/睡眠功能,在关闭应用程序端的套接字后,客户端仍然会显示传入的值,有什么想法吗?

任何帮助或建议将不胜感激! 问候

【问题讨论】:

  • 你心目中的“乱”是什么意思?
  • 我用红色涂鸦的所有内容。但是像文本/值这样的东西会溢出到下一行。
  • @Roger,我删除了新行,它起作用了,干杯!

标签: java android c sockets sensors


【解决方案1】:

Roger 已为我提供了正确答案,但不确定他的帖子现在在哪里。

删除 \n(新行)修复了问题,数据现在不会流到下一行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-25
    • 1970-01-01
    • 2018-12-21
    • 2015-03-12
    • 2012-10-11
    • 1970-01-01
    相关资源
    最近更新 更多