枸杞桑葚菊花茶
码龄3年
关注
提问 私信
  • 博客:79,710
    社区:1
    视频:226
    79,937
    总访问量
  • 20
    原创
  • 1,373,619
    排名
  • 42
    粉丝
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:江苏省
  • 加入CSDN时间: 2021-11-24
博客简介:

枸杞桑葚菊花茶的博客

查看详细资料
个人成就
  • 获得150次点赞
  • 内容获得46次评论
  • 获得675次收藏
  • 代码片获得3,268次分享
创作历程
  • 7篇
    2023年
  • 13篇
    2022年
成就勋章
TA的专栏
  • C语言&Linux系统
    16篇
  • 网络编程
    2篇
  • IO进程
    1篇
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Socket编程之TCP并发服务器

将要监视的文件描述符都放在这个表里,将这表交给一个函数 (select poll epoll),这个函数默认也是。在调用select函数的整个循环过程中,select函数调用之后我们需要对就绪的文件描述符进行IO处理。为了节省空间我们用一个比特位的0和1来表示文件描述符的状态,用不同的比特位来表示不同的文件,如果已知就绪的文件描述符的个数,在遍历所有IO处理的过程中就可以减少遍历的个数,当监视的文件描述符中,有一个或多个准备就绪的时候,这个函数会返回,返回的时候会。
原创
发布博客 2023.03.05 ·
1170 阅读 ·
2 点赞 ·
0 评论 ·
6 收藏

tcp粘包/拆包问题的产生和解决

在了解粘包/拆包问题产生的原因之前,我们需要对TCP/IP数据传输的原理有一定的了解。TCP协议是面向连接的传输层协议,TCP协议数据传输是基于 "字节流" 的,它不包含消息、数据包等概念,需要应用层协议自己设计消息边界。日常网络应用开发大都在传输层进行,因此粘包拆包问题大都只发生在TCP协议中,当然链路层网络层也会发生粘包/拆包问题。 通俗就是由于Nagle算法主动影响了每次发送数据的大小,当我们在多次发送小片数据的时候,Nagle算法只会在第一次发送小片数据,收到ACK之后会尽量将剩余
原创
发布博客 2023.03.03 ·
1258 阅读 ·
1 点赞 ·
0 评论 ·
7 收藏

单链表的插入方式

发布视频 2023.02.10

顺序表任意位置插入

发布视频 2023.02.09

数据结构之顺序表、链表

顺序表与链表2.1顺序表创建及算法2.1.1顺序表的构建(以学生成绩管理为例)2.1.2顺序表的创建(构建函数)2.1.3顺序表内成员的插入(构建函数)2.1.4顺序表内成员的删除(构建函数)2.1.5顺序表内成员数据修改(构建函数)2.1.6.排序(构建函数)2.1.7顺序表的释放2.2有头单链表的创建及算法2.2.1链表的构建 2.1.2链表的创建2.1.3链表成员的插入2.1.4链表成员的删除
原创
发布博客 2023.02.09 ·
573 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Linux系统中查找文件的命令

当我们使用find命令并用通配符通配以.c结尾的文件时并不是查找的当前路径及其子目录下的所有的 .c 文件,而会优先在当前路径下匹配 *.c 如果当前目录有多个.c文件,是一个文件一个文件查找的,所以我们需要注意通配符的使用。//查看文件开头的内容 默认显示前10行。//查看文件结尾的内容 默认显示后10行。//表示在当前目录及其子目录下查找所有文件中包含“main”的行。//动态查看文件新增的内容。//显示文件开头前2行的内容。//显示文件结尾的前20行内容。//在指定的路径及其子目录下查找指定的文件。
原创
发布博客 2023.02.05 ·
3354 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

C语言中的运算符及优先级

所谓运算符,就是一个符号。是用来连接多个表达式从而进行运算。表达式,就是由运算符、运算量、标点符号等组成的一个有效序列,是用来说明运算过程的。运算符优先级排序图
原创
发布博客 2023.02.01 ·
7065 阅读 ·
35 点赞 ·
0 评论 ·
213 收藏

通配符与正则表达式

Shell中的通配符。正则表达式。通配符用来匹配文件名,正则表达式用来匹配文本。
原创
发布博客 2023.01.31 ·
1844 阅读 ·
6 点赞 ·
0 评论 ·
9 收藏

C语言指针总结

指针基本概念、指针的相关操作、指针和变量的关系、指针的基本使用、指针变量的大小、指针的运算、指针与字符串、指针与一维数组、指针与二维数组、数组指针、指针数组、二级指针、指针与函数、函数指针、函数指针数组、函数指针数组指针
原创
发布博客 2023.01.29 ·
4925 阅读 ·
19 点赞 ·
0 评论 ·
84 收藏

Win11提示该文件没有与之关联的应用来执行该操作该如何解决

Win11提示该文件没有与之关联的应用来执行该操作该如何解决?如何去除电脑图标左下角的小箭头?如何恢复注册表IsShortcut文件?
原创
发布博客 2022.12.26 ·
19402 阅读 ·
44 点赞 ·
32 评论 ·
75 收藏

将时间在终端动态显示>标准IO

主要分为三个部分。1、获取初始时间的方式:两种选择,可以自定义时间或者获取当前系统时间(主要运用time🔍和localtime🔍函数)。2、判断初始使时间是否合理(平闰年、月日、时分秒)。3、让时间动起来,主要利用延时函数sleep(1),延时1秒,让时间从秒开始进位。 对于让时间在终端像电子表一样动起来我们需要了解标准IO缓冲区中行缓冲(stdin,stdout)机制,要想使时间在终端不停的变化我们需要调用fflush🔍函数主动刷新终端的标准输出
原创
发布博客 2022.11.27 ·
488 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

C语言编程学生成绩管理系统

利用C语言,运用链表、指针、封装函数等基本知识实现一个学生管理系统。通过在终端对学生信息进行一系列操作。
原创
发布博客 2022.11.26 ·
7875 阅读 ·
16 点赞 ·
1 评论 ·
113 收藏

利用C语言实现快速排序

快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-and-ConquerMethod)。​快速排序并不是将小的数插入到基准数前,大的数插入到基准数后,而是通过交换元素位置的方式来实现排序,所以也称之为“舞动排序🔍” 快速排序简单来说就是确定一组数据中每个数据该去的位置,操作过程分为两步。第一步,把一组数据以其中的某个数字为基准数,分成大小两部分,然后基准数不动(它的位置已经确定)
原创
发布博客 2022.11.16 ·
1215 阅读 ·
0 点赞 ·
0 评论 ·
9 收藏

Ubuntu终端常用指令(精简)

Ubuntu终端常用指令(精简)uname -m:显示机器的处理器架构uname -r:显示正在使用的内核版本:显示硬件系统部件:显示 CPU info 的信息:显示中断:显示内存使用情况:显示哪些 swap 被使用:显示内核的版本:显示网络适配器及统计:显示已加载的文件系统date:显示系统日期cal 2021:显示 2021 年的日历表:关闭系统init 0:关闭系统telinit 0:关闭系统。
原创
发布博客 2022.11.08 ·
1338 阅读 ·
2 点赞 ·
0 评论 ·
17 收藏

编写C程序输出杨辉三角

编写C程序输出杨辉三角。编程实现:根据规律C(n,i)=C(n-1,i)+C(n-1,i-1),我们可以通过二维数组来实现杨辉三角。注意:随着行数的增加,每行中间的数字会越来越长,终端显示的图像会因为数字长度和间距的问题无法维持三角形的形状和显示规律,所以我们要合理控制打印的行数。
原创
发布博客 2022.11.03 ·
3197 阅读 ·
2 点赞 ·
1 评论 ·
14 收藏

如何判断系统的大小端存储

存储大小端的问题。字节序问题。如何判断大小端存储。编写一个判断cpu大小端存储的程序。小端存储:地址低位存储数据低位,地址高位存储数据高位。大端存储:地址低位存储数据高位,地址高位存储数据低位
原创
发布博客 2022.10.29 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

如何输出一个数的二进制数

二进制数是以bit为操作数,所以要想将一个数转换为二进制数,我们需要先要将输入的数字转化为二进制数,然后从高位到低位判断每一位是 1 还是 0,最后把对应的 1 和 0 打印出来。位运算一般多用于硬件设备的控制或者标志位的控制。按位异或 按位运算 不同为1 相同为0。一般情况下涉及位运算使用的都是。,大小为32bit,所以输出的二进制数的范围是。而言的,位指的是bit位,但凡涉及位运算,按位与 按位运算 全1为1 有0为0。按位或 按位运算 有1为1 全0为0。按位取反 按位运算 0变1 1变0。
原创
发布博客 2022.10.21 ·
2678 阅读 ·
2 点赞 ·
2 评论 ·
9 收藏

用函数的递归实现n!

每次调用fac函数后,其返回值 f 应返回到fac函数调用的地方,因为该递归终止的条件为n=0或者n=1。例如,当n=2的时候函数体中的 “f=fac(1)*2” 当取到返回值fac(1)时,函数才会得到结果。函数fac返回值能表示的最大的无符号数为(2^32-1),所以本程序n最大的有效取值为12,输入比12大的数字或许会有结果,但是错误的结果,在程序编写时要排除这些情况。可通过改变参数和函数类型来改变程序计算的范围,例如:float型或者double型。调用该函数本身,称为函数的递归调用。
原创
发布博客 2022.10.20 ·
9491 阅读 ·
3 点赞 ·
2 评论 ·
26 收藏

使用指针实现atoi函数

​用指针实现atoi函数的功能。Linux操作系统,Ubuntu软件。用指针实现方式: 定义一个char*类型的指针,通过将字符串中的元素减去‘0’(或字符‘0’的ASCII码)得到一个十进制数字,再定义一个int类型的整数来接收转换过后的数字。​
原创
发布博客 2022.10.16 ·
324 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

用指针实现strcmp函数功能

​用指针实现strcmp函数功能操作系统为Linux,软件为Ubuntu。strcmp函数的原理:将两个字符串🔍(s1,s2)的元素ascii码依次比较,直到遇到最短字符串的‘\0’,返回最后一个元素ascii码比较结果。指针实现方式: 通过定义两个char*指针🔍分别指向需要比较的两个字符串,通过指针指向的地址的偏移,比较两个字符串内元素ascii码的差值,最终得到两个字符串的比较结果。​
原创
发布博客 2022.10.16 ·
3253 阅读 ·
7 点赞 ·
6 评论 ·
19 收藏
加载更多