自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 基于UDP的TFTP文件传输

文件的最后一个数据块可能小于512字节。客户端发送完最后一个数据块后,等待服务器的最终ACK确认。

2024-09-14 14:53:27 815

原创 select函数详解:IO复用

select函数是一种用于实现I/O复用的方法,它可以让程序在多个文件描述符(例如套接字)之间进行选择,以便在其中任何一个或多个可用时执行I/O操作。这种机制使得程序能够更高效地处理多个I/O操作。下面将对select的原理和工作机制进行详细介绍,并分析select函数的优势和局限。

2024-09-10 20:57:59 1102

原创 sqlite3(实现表格的增删改查)

【代码】sqlite3(实现表格的增删改查)

2024-09-10 20:25:39 332

原创 流式域套接字通信

【代码】流式域套接字通信。

2024-09-05 20:56:01 245

原创 TCP协议多进程多线程并发服务器

广播发送端:采用setsockopt 设置网络属性,为允许广播。1.多进程并发服务器。2.多线程并发服务器。

2024-09-04 20:53:25 556

原创 实现TCP收发信息和UDP收发信息

2.UDP服务器中,使用connect函数,实现唯一的客户端与服务器通话。

2024-09-03 21:00:42 523

原创 消息对列,共享内存

3、建立两个.c 建立子父进程,父进程发送消息到队列,子进程读取队列。1.消息队列消发送接收数据。2.共享内存发送接收数据。

2024-08-29 21:07:16 261

原创 进程间通信:采用有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.

有名管道与无名管道(PIPE)相比,最大的区别在于它们可以在没有亲缘关系的进程间使用。有名管道通过在文件系统中创建一个特殊的文件来实现,这个文件不占用磁盘空间,但提供了一个路径名,使得任何可以访问该路径的进程都能够通过它来交换数据。使用有名管道进行IPC的一个典型场景是,一个进程写入数据到管道,而另一个进程读取管道中的数据。这种方式的通信是单向的,但可以通过创建两个有名管道来实现双向通信。作业1:有名管道,创建两个发送接收端,父进程写入管道1和管道2,子进程读取管道2和管道1.

2024-08-28 20:33:40 326

原创 线程:线程创建pthread_create,线程间的同步与互斥

作业一:创建3个线程,一个子线程拷贝文件的前一半,一个子线程拷贝后一半文件,主线程回收子线程资源。作业二:使用无名信号量实现循环输出 春、夏、秋、冬。作业三:互斥锁,无名信号量,条件变量再联系一遍。

2024-08-27 20:56:19 1148

原创 进程:getpid和getppid函数,exit和_exit函数,wait和waitpid函数。创建3个进程,子进1程拷贝文件的前一半,子进程2拷贝后一半文件,父进程回收两个子进程资源。

进程:getpid和getppid函数,exit和_exit函数,wait和waitpid函数。创建3个进程,子进1程拷贝文件的前一半,子进程2拷贝后一半文件,父进程回收两个子进程资源。

2024-08-26 20:29:00 901

原创 进程创建:fork函数

fork函数没有参数,返回值是一个pid_t类型的值。在成功创建新的进程后,fork函数会在父进程中返回子进程的PID,而在子进程中返回0。如果fork函数调用失败,则会返回-1。调用fork函数后,父进程和子进程会有相同的代码、数据和堆栈。但是,父进程和子进程是两个独立的进程,它们有各自独立的地址空间。在Linux系统中,fork函数是用于创建一个新的进程的函数。调用fork函数会创建一个新的进程。如果 fork 调用失败,则在父进程中返回 -1,并设置 errno 以指示错误原因。

2024-08-23 19:41:46 429

原创 文件IO函数:open/close,read/write,lseek

上述代码通过open()函数打开一个文件,然后通过write()函数向文件中写入内容,再通过lseek()函数重新定位文件指针到文件开始位置,最后通过read()函数读取文件内容。在C语言中,文件IO操作主要是通过文件指针和相关函数来实现的。open()函数的返回值是文件描述符,如果打开文件成功,则返回一个非负整数,表示文件描述符;close()函数用于关闭打开的文件,成功关闭文件返回0,关闭文件失败返回-1。C语言中的文件IO操作需要使用到open()函数和close()函数来打开和关闭文件。

2024-08-22 20:44:15 1139

原创 标准IO函数:fprintf和fscanf,fread和fwrite

需要注意的是,打开文件时要使用对应的文件模式,如"wb"表示以二进制写入方式打开文件,"rb"表示以二进制读取方式打开文件。其中,stream是指向要读取的文件的指针,format是格式控制字符串,用于指定读取的格式,后面的参数是用于存储读取结果的变量。其中,stream是指向要写入的文件的指针,format是格式控制字符串,用于指定写入的格式,后面的参数是要写入的数据。C语言中的fwrite和fread函数是用于文件读写的函数。返回值: 成功写入的数据项的个数。返回值: 成功读取的数据项的个数。

2024-08-21 20:26:41 490

原创 标准IO:采用fgetc和fputc,fgets和fputs实现文件的拷贝和获取文件的行数

fgets函数会从指定的流中读取字符,直到遇到换行符(包括换行符在内)或达到最大字符数限制为止,然后将读取到的字符存储在str指向的字符数组中。如果成功读取到字符,则返回指向str的指针;如果读取到的字符串长度小于n-1,则fgets函数会将剩余的字符填充为NULL字符,以保证存储的字符串总长度为n。上述代码打开名为"example.txt"的文件,然后使用fgetc函数逐个读取文件中的字符,并将其打印到控制台上,直到文件末尾。fputc函数是C语言中的标准库函数之一,用来将一个字符写入到指定的文件中。

2024-08-20 20:31:34 721

原创 数据结构:单链表,实现学生管理系统

单链表实现学生管理系统(参照顺序表技能)写出菜单界面switch选择。5、按照姓名顺序查找一个学生是否存在。4、按照成绩修改一个学生的年龄。3、删除一个学生信息。

2024-08-17 19:03:56 331

原创 数据结构:顺序表,实现学生管理系统

6、按照姓名顺序查找一个学生是否存在7、对学生年龄直接插入排序(从小到大)。顺序表实现学生管理系统(参照顺序表技能)写出菜单界面switch选择。5、按照位置修改一个学生信息。1、创建顺序表(堆区)。3、插入一个学生信息。4、删除一个学生信息。

2024-08-17 19:00:11 354

原创 数据结构:链栈,存储学生信息(年龄,分数,姓名)结构三级引用

1、建立学生信息结构体,将data改为学生信息结构体类型。链栈,节存储学生信息(年龄,分数,姓名)三级引用。2、循环入栈和入队。

2024-08-13 19:37:34 509

原创 C语言:结构体和单链表实现学生数据管理

1、建立学生结构体数组,存放4个学生信息,循环调用插入函数,建立整表。2、任意位置插入一个新学生。变量e是学生结构体变量。创建单链表,存储4个学生信息(年龄,分数,姓名)。4、单链表逆置后将学生信息输出。3、任意位置删除一个学生。主函数(main.c)

2024-08-12 20:37:17 469

原创 C语言:结构体和顺序表

自定义顺序表,实现顺序表按照位置插入和删除功能。

2024-08-08 20:18:31 432

原创 C语言:学生成绩管理,一维数组,二维字符串数组

8、功能5:子函数5对给定关键字key的学生成绩进行查找,查找成功输出该学生姓名。1、建立三个文件 ,mymain.c list.c list .h。2 、mymain.c只有一个主函数,调用list.c文件内的功能函数。4、功能1:一维数组和二维数组作为参数传递给子函数1,并在子函数1中赋值。3、主函数定义一维数组,存储学生成绩,二维数组存储学生姓名。5、功能2:子函数2求出最高成绩学生对应的姓名。6、功能3:子函数3求出学生平均成绩。7、功能4:子函数4对学生成绩排序。

2024-08-08 11:24:13 363

原创 C语言:结构体

作业一:结构体数组存储学生信息(姓名,年龄,分数),完成输入学生信息,输出学生信息,求学生成绩之和,求最低学生成绩。作业二:在堆区,申请5个结构体空间,存储学生信息(姓名,分数)循环输入学生信息,按照输入姓名查找某个学生,修改其成绩为100分。

2024-08-07 20:06:23 490

原创 C语言:二维字符数组倒序输出,采用模板匹配的方法,在一维字符串数组中,查找出字符串的位置

2,采用模板匹配的方法,在一维字符串数组“qwertyuio”中,查找出“yuio”的位置,并输出。运行结果:yuio位于字符qwertyuiop的第6位置。1.二维字符数组倒序输出。

2024-08-06 19:59:58 391

原创 C语言:简单选择排序

1.在堆区申请10个连续空间,手动输入10个数(乱序),采用简单选择排序,输出排序后的结果。注意:main函数在main.c 输入函数,输出函数,排序函数,在sort.c。

2024-08-05 19:47:32 153

原创 C语言:折半查找

1.在堆区申请10个连续空间,手动输入10个数(递增),输入关键字key,采用折半查找方式查找关键字是否存在,存在给出位置,不存在,输出查找失败。注意:main函数在main.c 输入函数,输出函数,查找函数,在find.c。

2024-08-05 19:30:51 556

原创 C语言:简单选择排序

函数封装:简单选择排序。

2024-08-05 16:32:15 97

原创 C语言:使用函数实现冒泡排序和打印杨辉三角

1.使用指针实现一维数组的传参,写一个冒泡排序的函数void sort_(int *p,int len)2.使用二维数组传参实现杨辉三角void fun(int (*p)[100],int h)

2024-07-31 20:19:20 382

原创 C语言:采用函数和指针封装斐波那契数列,二维整形数组的最大值,strlen,strcpy, strcmp, strcat

C语言:采用函数和指针封装斐波那契数列,二维整形数组的最大值,strlen,strcpy, strcmp, strcat

2024-07-30 20:53:20 302

原创 C语言:输入一个带空格的字符串,求字符个数,单词个数

1.输入一个带空格的字符串,求字母(字符)个数。2.输入一个带空格的字符串,求单词个数。

2024-07-29 19:57:02 116

原创 C语言,杨辉三角,采用二维数组打印直角杨辉三角

C语言,杨辉三角,采用二维数组打印直角杨辉三角

2024-07-29 19:54:50 250

原创 C语言;采用指针实现strlen,strcpy,strcmp,strcat

C语言;采用指针实现strlen,strcpy,strcmp,strcat

2024-07-29 19:52:45 281

原创 C语言:字符串函数族strlen,strcmp,C语言实现,

采用C语言写出strcpy,strcmp的函数功能,终端输入一个字符串,再输入一个字符a,判断这个字符在字符串有几个

2024-07-25 20:59:06 297

原创 C语言:字符串的拼接

采用C语言实现字符串的拼接,终端输入一个字符串arr,终端再输入一个字符串brr,拼接为一个字符串。

2024-07-25 15:48:23 104

原创 c语言,数组输入输出,百钱买百鸡问题,数组的逆置

1.定义一个整形数组arr,长度为5,终端输入5个数,依次存入数组中。2.定义整形数组arr,长度为5,终端输入5个数,依次存入数组中,终端再输入一个数字num,判断是否存在此数组中,在的话,打印存在,不在打印不存在。3.定义整形数组arr,长度为len,终端输入len个数,依次存入数组中,求平均值、最小值、最大值、和4.有 1、2、3、4个数字,能组成多少互不相同且无重复的三位? 都是多少?5.百钱买百鸡问题:鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡6.数组的逆置

2024-07-25 09:03:16 448

原创 C语言基础:详解for 循环过程

详解for 循环过程,水仙花数,pow()用法,i

2024-07-24 11:10:37 204

原创 完数,奇数金子塔,递增100,斐波那契数列,嵌套循环产生图案,猴子吃桃问题

求 1-1000以内的完数,打印奇数金字塔,求和直到超过100,斐波那契数列,使用嵌套循环产生图案,猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

2024-07-23 22:45:06 457

空空如也

空空如也

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

TA关注的人

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