自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 基于 C 语言的网络单词查询系统设计与实现(客户端 + 服务器端)

本项目通过 C 语言 socket 编程和 SQLite 数据库,实现了一个功能完整的网络单词查询系统,涵盖了网络通信、多线程并发、数据库操作等核心技术

2025-09-01 21:22:03 1905

原创 手把手教你搭建 UDP 多人聊天室(附完整源码)

 本文将分享一个基于 UDP 协议的简易多人聊天室项目,包含服务器端和客户端的完整实现。该聊天室支持多客户端同时连接,能实现消息群发、用户加入 / 退出通知等核心功能,适合作为网络编程入门实践案例。

2025-09-01 21:08:36 1160

原创 C语言实现基于 poll 的多路复用 TCP 服务器

poll 是一种比 select 更高效的 I/O 多路复用方式。使用 poll 可以在一个线程中同时管理多个客户端连接,避免阻塞,提高服务器并发性能。如果连接数进一步增多,可以考虑 epoll,它更适合大规模并发场景。

2025-08-26 21:53:19 541

原创 手把手实现一个select多路复用TCP服务器

select 通过阻塞等待多个套接字事件,实现了 I/O 多路复用。相比单纯的 accept + recv 阻塞,select 能让服务器同时处理多个客户端。后续可以尝试 poll / epoll,性能更好,适合高并发。

2025-08-25 21:15:55 608

原创 C语言实现UDP广播通信

本文讲述了利用 C语言 + UDP套接字 实现的广播通信的完整示例。在实际开发中,可以将此方法扩展到局域网聊天工具、设备发现、日志推送等应用场景。

2025-08-21 20:57:14 456

原创 C语言实现UDP多播通信:发送端与接收端完整示例

本文演示了如何使用 C 语言实现 UDP 多播通信,包含发送端和接收端完整源码。

2025-08-21 20:51:43 738

原创 基于多线程的 TCP 服务器实现(C语言版)

socket。

2025-08-20 21:17:13 288

原创 C语言实现多进程并发TCP服务器(支持多个客户端同时通信)

本文实现了一个 多进程并发 TCP 服务器,关键点有两个:1.使用 fork() 为每个客户端分配一个子进程,实现并发通信。2.使用 signal(SIGCHLD, handle) 结合 waitpid 回收子进程,避免僵尸进程。

2025-08-20 21:11:34 521

原创 C语言 Socket 编程实战:实现一个能收发消息的 TCP 服务器与客户端

本文通过 C语言 + Socket,实现了一个基础的 TCP 客户端与服务器通信框架。适合初学者快速理解 socket() → bind() → listen() → accept() → recv()/send() 的流程。可以在此基础上扩展为 多客户端连接、多线程/多进程服务器,甚至实现一个简单的 聊天室。

2025-08-19 19:32:28 621

原创 C语言直插排序法

插入排序(Insertion Sort)是一种简单直观的排序算法,适合用于数据量较小或基本有序的场景。本文提供了 C语言完整实现代码 + 详细注释,帮助读者快速理解插入排序的原理和实现步骤。通过逐个元素插入到有序序列中,插入排序能够清晰展示排序的基本思想,是学习其他复杂排序算法的良好基础。

2025-08-18 20:17:22 190

原创 C语言实现快速排序

快速排序是最经典的排序算法之一,以“分而治之”为核心思想,兼具高效与简洁。本文带来 C语言完整实现代码 + 详细注释 + 可视化示意图,让你轻松理解快速排序的核心原理与应用。

2025-08-18 20:07:14 454

原创 C语言联合编译SQLite的学生信息管理系统(具有用户登录与注册功能)

本文分享了一个基于 C语言与SQLite数据库 的简易用户登录及学生信息管理系统,涵盖了 注册、登录、学生信息的增删改查 等功能。项目代码简洁清晰,既能帮助初学者掌握 文件操作与数据库应用,又能为进阶学习者提供一个可扩展的小型系统案例。

2025-08-16 15:20:58 586

原创 C语言实现两个进程使用有名管道进行双向通信

本文带你用最直观的方式搞懂 Linux 有名管道(FIFO)双向通信 的实现。两份完整 C 代码、清晰的流程图,助你一步步实现两个进程像聊天软件一样互发消息,输入 q 即可优雅退出,编译即跑,简单高效!

2025-08-14 21:16:06 222

原创 Linux IPC 共享内存编程入门:C语言读写端实战

本文介绍了Linux下使用共享内存进行进程间通信的方法。通过C语言示例演示了共享内存的创建(shmget)、映射(shmat)、读写操作以及资源释放(shmdt/shmctl)等关键步骤。写端程序创建共享内存并循环接收用户输入,读端程序以只读方式访问共享内存内容。当用户输入"q"时,写端会删除共享内存段。与管道等IPC方式相比,共享内存避免了内核与用户空间的数据拷贝,具有更高的效率。文中提供了完整的代码实现和编译运行方法。

2025-08-13 21:57:49 249

原创 《System V 消息队列实现进程间通信:发送端与接收端完整代码示例》

本文介绍了Linux系统中SystemV消息队列的进程间通信实现。通过发送端和接收端两个代码示例,完整演示了消息队列的创建、发送和接收过程。发送端使用msgsnd发送带类型的消息,接收端通过msgrcv按类型接收,实现了异步通信。代码包含消息结构定义、密钥生成、队列管理等功能,并支持输入处理(去除换行符)和退出控制(输入"q"终止)。该示例可作为初学者理解进程间异步通信的基础,注释详尽可直接编译运行,也可扩展支持多类型消息处理等高级功能。

2025-08-13 21:53:03 213

原创 c语言父子进程外部传参,将一个txt文档中的内容拷贝到另一个txt文档中,父子进程各拷贝一半

/输出运行结果时执行./a.out 1.txt 2.txt。//在此处移动光标无效,因为文件已经关闭。//每次调用都需要重新打开关闭,防止冲突。//每次调用都需要重新打开关闭,防止冲突。else if(pid>0)//打印后一半。if(pid==0)//打印前一半。

2025-08-06 20:30:20 371

原创 简单登录系统(注册,登录,可以保存账号密码到1.txt)

printf("请输入你要创建账户的账号和密码:\n");printf("\t\t用户登录系统\n");printf("登录成功!printf("\t\t1.登录\n");printf("\t\t2.注册\n");printf("\t\t3.退出\n");printf("账户创建成功!printf("请输入你的账号和密码:\n");printf("请输入选择:\n");printf("账户创建失败\n");

2025-07-31 21:36:46 346

原创 1、头插法创建双向链表,节点是学生信息(学号,分数,姓名)2、调用函数遍历链表所有信息3、调用函数,求出分数是完数的学生,并输出该学生所有信息4、调用函数,按照姓名查找某个学生是否存在

printf("分数:%d\n",t->data.fenshu);printf("姓名:%s ",t->data.name);printf("学号:%d ",t->data.xh);printf("请输入第%d个学生的学号、姓名和分数:\n",i+1);printf("这个学生的信息存储在第%d个节点\n",i+1);printf("分数:%d\n",t->data.fenshu);printf("姓名:%s ",t->data.name);printf("学号:%d ",t->data.xh);

2025-07-28 20:02:57 338

原创 c语言联合编译加单链表实现简单的学生管理系统

printf("学号:%d 姓名:%s 年龄:%d\n",t->data.xh,t->data.name,t->data.age);printf("\t\t\t6.添加一个学生到指定位置\n");printf("\t\t\t3.按照学号修改学生信息\n");printf("\t\t\t4.按照姓名删除学生信息\n");printf("姓名:%s ",t->data.name);printf("年龄:%d\n",t->data.age);printf("\t\t\t9.输出所有学生的信息\n");

2025-07-26 14:27:36 1501

原创 2.在堆区,申请5个结构体空间,存储学生信息(姓名,分数)循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。

printf("请输入第%d位学生的姓名、年龄和分数:\n",i+1);printf("请输入第%d个学生的姓名和成绩:\n", i + 1);printf("分数:%d\n", arr[i].fenshu);printf("分数:%d\n", arr[i].fenshu);printf("分数:%d\n", a[i].fenshu);printf("学生%d: ", i + 1);printf("学生成绩之和为:%d\n", num);printf("学生的最低成绩为:%d\n", j);

2025-07-23 20:53:35 260

原创 c语言strcat、strcmp、strcmp、strcpy函数功能实现

printf("该字符串的长度为%d\n", len);

2025-07-23 20:51:28 406

原创 c语言第一次作业四道作业题

/str[j]首字符的ASCLL码和str[j + 1]首字符的ASCLL码比较,相等返回值为0,后者大返回值为负数,前者大返回值为正。while (i < j && chengji[j] <= key)//a[j]<=基准值时继续往前判断(降序)while (i < j && chengji[i] >= key)//a[j]>=基准值时继续往后判断(降序)chengji[i] = chengji[j];//第一个元素为基准值。if (i < j)//还未找到基准值,(i==j找到基准值)

2025-07-23 20:45:39 310 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除