鱼C论坛

 找回密码
 立即注册
查看: 885|回复: 5

[已解决]C语言文件操作的相关问题

[复制链接]
发表于 2021-2-8 19:11:06 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
如图;
while循环中fgets函数怎么知道已经读过了一行字符串,要读下一行字符串?
而且为什么最后一行输出两次,我还有点懵qwq

求大佬指点!
最佳答案
2021-2-8 21:42:39
酸菜鱼菜酸 发表于 2021-2-8 21:32
输入回车了就代表这一行读完了
这是怎么实现的?
程序是怎么知道的?

那就是fgets的事情了
360截图20210208190825553.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-8 20:48:01 | 显示全部楼层
1,输入回车了就代表这一行读完了
2,发完整的文本代码,不要发截图。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-2-8 21:32:51 | 显示全部楼层
qiuyouzhi 发表于 2021-2-8 20:48
1,输入回车了就代表这一行读完了
2,发完整的文本代码,不要发截图。

输入回车了就代表这一行读完了
这是怎么实现的?
程序是怎么知道的?

发完整的文本代码,不要发截图。 —————— 嘿嘿嘿好的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-2-8 21:42:39 | 显示全部楼层    本楼为最佳答案   
酸菜鱼菜酸 发表于 2021-2-8 21:32
输入回车了就代表这一行读完了
这是怎么实现的?
程序是怎么知道的?

那就是fgets的事情了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2024-1-24 13:52:10 | 显示全部楼层
@FishC  在python中获得串口的姿态角数据,并用三维立体的棍子展示出来,其中有一个关节点连接两根棍子,每根棍子反应了传感器的数据。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2024-1-24 13:53:23 | 显示全部楼层
酸菜鱼菜酸 发表于 2024-01-24 13:52
@FishC  在python中获得串口的姿态角数据,并用三维立 ...


嗨!你可以使用Python中的serial库来读取串口数据,并使用matplotlib库来可视化数据。下面是一个示例代码,可以帮助你实现这个功能:

  1. import serial
  2. from mpl_toolkits.mplot3d import Axes3D
  3. import matplotlib.pyplot as plt
  4. import numpy as np

  5. # 打开串口
  6. ser = serial.Serial('COM1', 115200)  # 替换为你的串口和波特率

  7. # 初始化绘图
  8. fig = plt.figure()
  9. ax = fig.add_subplot(111, projection='3d')
  10. ax.set_xlim(-10, 10)
  11. ax.set_ylim(-10, 10)
  12. ax.set_zlim(-10, 10)

  13. # 定义棍子的关节点连接
  14. connections = [(0, 1), (1, 2)]  # 替换为你的关节点连接方式(节点索引从0开始)

  15. # 更新函数,用于获取并展示姿态角数据
  16. def update():
  17.     # 读取串口数据
  18.     data = ser.readline().decode().strip()
  19.     angles = [float(a) for a in data.split(",")]  # 假设接收到的数据格式为 "x,y,z",使用逗号分隔

  20.     # 清空原有的绘图
  21.     ax.cla()

  22.     # 绘制关节点和棍子
  23.     for connection in connections:
  24.         start_idx, end_idx = connection
  25.         start_pos = np.array([0, 0, 0])  # 起始节点位置为原点
  26.         end_pos = np.array([angles[end_idx], angles[end_idx+1], angles[end_idx+2]])  # 终止节点位置根据接收到的数据确定
  27.         ax.plot([start_pos[0], end_pos[0]], [start_pos[1], end_pos[1]], [start_pos[2], end_pos[2]])

  28.     # 刷新绘图
  29.     plt.draw()

  30. # 定时更新姿态角数据并展示
  31. while True:
  32.     update()
复制代码


请注意,在运行此代码之前,你需要安装matplotlib和pyserial库。你可以使用`pip install matplotlib pyserial`命令来进行安装。

希望这可以帮到你,如果有任何问题,请随时向我提问!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-1 03:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表