
C语言
文章平均质量分 73
c语言知识与数据结构
爱钻的嵌小白
文章若为vip可见非我本意,如果发现可联系我修改,共同开源
展开
-
C语言接收数据、解析数据帧,解决丢包粘包问题
本文介绍了一个处理数据帧粘包问题的解决方案。该方案针对0xAA开头的数据帧格式(包含命令、长度、数据和CRC字段),提供了帧同步和错误处理功能。核心函数ProcessIncomingBytes通过状态机机制实现:1)检测帧头0xAA开始同步;2)解析长度字段计算完整帧长;3)支持遇到新帧头时自动重同步;4)包含溢出保护和错误帧丢弃机制。该方案能有效处理数据流中断、帧不完整等异常情况,适用于需要可靠解析二进制协议的嵌入式系统开发场景。原创 2025-05-21 15:28:18 · 252 阅读 · 0 评论 -
嵌入式Linux学习笔记(5)-进程间常见通讯方式(c语言实现)
进程间通信(IPC,InterProcess Communication)是指在多个进程之间进行数据传输和共享的机制。在操作系统中,进程是运行中的程序的实例,每个进程都有自己的内存空间和资源。进程间通信可以用于在不同的进程之间传递数据、共享资源、进行协同工作等。常见的进程间通信方式有以下几种:管道(Pipe):管道是一种半双工的通信方式,它是通过创建一个管道文件用于两个进程之间的通信。一个进程可以将数据写入管道,而另一个进程可以从管道中读取数据。原创 2024-09-15 21:50:26 · 1092 阅读 · 0 评论 -
Unix时间戳详解
Unix时间戳(Unix timestamp)是UNIX操作系统中的一种时间表示方式,以自1970年1月1日00:00:00(格林威治时间)以来的秒数来表示时间。它通常以整数形式存在,表示从该起始时间点到当前时间点所经过的秒数。Unix时间戳的优势在于其简单性和一致性,可以在不同的编程语言和操作系统中使用。许多编程语言提供了函数或库来将Unix时间戳转换为易读的日期和时间格式,或将日期和时间格式转换为Unix时间戳。原创 2024-02-05 00:29:37 · 3495 阅读 · 0 评论 -
【c语言】-药店管理系统
然后以while循环n次,在while循环中,首先初始化指针指向第一个药品信息,然后遍历链表,如果发现此结点的药品价格比下一个结点的药品价格高,则交换药品信息。将文件中的信息存到链表中。用户输入要修改的药品后,遍历链表找到对应信息,然后对链表进行基本的修改和删除。药品的录入、查找运用了链表的建立、增删、遍历,显示运用了单链表的冒泡排序。药品的信息储存在medicine的文件中,需要的时候读到链表中。查找界面在输入药品名称后,会在文件中寻找对应药品,如果找到则会输出并继续寻找,直到遍历结束。原创 2023-01-09 12:37:01 · 6776 阅读 · 2 评论 -
二叉树的遍历--递归、非递归、按层次遍历
二叉树是一种树形结构,其特点是每个结点至多只有两棵子树( 即二叉树中不存在度大于2的结点),并且二叉树的子树有左右之分,其。将该结点的右孩子和左孩子依次进栈,因为我们进行的是先序遍历,根据栈的后进先出规则,左孩子后进的,则会先被弹出栈。然后继续将‘2’出队打印,并将‘2’的左孩子右孩子入队,此时队列中有‘8’,‘1’,‘4’;二叉树的遍历有很多方法,例如递归的先序、中序、后序遍历,非递归遍历,按层次遍历等。然后将根结点出队打印,并将根结点的左孩子右孩子入队,此时队列中有‘2’,‘8’;原创 2023-11-23 16:27:14 · 1389 阅读 · 0 评论 -
迷宫问题--链栈
给定一个迷宫,指明起点和终点,找出从起点出发到终点的有效可行路径,就是迷宫问题。原创 2023-11-22 22:59:35 · 513 阅读 · 1 评论