- 博客(65)
- 收藏
- 关注
原创 【LinuxC高级】汇总
c语言中的数组shell中的数组数组名=(val1 val2 val3 ...)# shell中的数组,不需要写出数组长度# shell中的数组初始化时,直接使用()# shell中的数组每个元素之间是空格,不是逗号# 访问仍然需要通过下标,下标从0开始采用键值对的方式赋值数组名=([下标值]=val1 [下标值]=val2 ...)arr=([9]=1 [0]=4 ...) 下标可以不连续采用列表名的方式赋值列表名="val1 val2 val3 ..."
2024-09-24 20:50:19
1027
原创 【C++】智能指针
独占智能指针会“拥有”它所指向的对象,某一时刻,只能有一个unique_ptr指向给定的对象,当该指针被销毁时,指向的对象也会随之释放。
2024-09-06 19:22:51
330
原创 【C++】常见笔试面试题
1> 指针定义时需要使用*号,引用定义时需要使用&2> 指针取值需要使用*号运算符完成,引用使用时直接跟目标使用方式一致3> 指针定义时,需要给指针分配内存空间8字节,引用定义时不需要分配内存空间,引用使用的是目标的空间4> 指针初始化后,可以改变指针的指向,但是引用初始化后,不能在改变目标了5> 指针有二级指针,但是引用没有二级引用6> 有空指针,但是没有空引用7> 指针进行偏移运算时是对内存地址的偏移,而引用进行偏移时,就是对目标值的偏移。
2024-08-28 21:14:19
304
1
原创 【IO】IO函数
a+ 以读或者追加的形式打开文件,如果文件不存在,则创建文件,如果第一次是读数据,则光标定位在开头,否则定位在结尾。w+ 以读写的形式打开文件,如果文件存在,则清空文件内容,如果文件不存在,则创建该文件,文件光标定位在开头.w 以只写的形式打开文件,如果文件存在,则清空文件内容,如果文件不存在,则创建该文件,文件光标定位在开头./* 缓冲区结束地址 */r+ 以读写的形式打开文件,文件光标定位在开头.如果文件不存在,则报错。a 以追加的形式打开文件,如果文件不存在则创建文件,文件光标定位在结尾。
2024-08-28 20:43:12
264
原创 【嵌入式】面试题
在不同类型的主机下,存储方式可能不同,分为大端存储(地址低位存储数据高位), 小段存储(地址低位存储数据低位),而在网络中统一使用网络字节序(大端存储)在 进行数据的传输,所以需要将主机字节序转化为网络字节序,可以使用函数htons(2 字节)和htonl(4字节)来进行转换,也可以使用ntohs(2字节)和ntohl(4字节) 来将网络字节序转化为主机字节序。3.第三次握手:客户端接收到服务器的SYN包,以及ACK包,进入establish状态,同时向服务器发送ACK包(ACK=1, ack=1)。
2024-08-28 20:42:25
836
原创 【嵌入式】面试题
1.第一次握手:客户端发送SYN包(SYN=1, seq=0)给服务器,并进入SYN_SENT状态,等待服务器返回确认包。2.第二次握手:服务器接收到SYN包,确认客户端的SYN,发送ACK包(ACK=1 , ack=1),同时发送一个SYN包(SYN=1, seq=0),并进入SYN_RCVD状态。3.第三次握手:客户端接收到服务器的SYN包,以及ACK包,进入establish状态,同时向服务器发送ACK包(ACK=1, ack=1)。此时三次握手包发送完毕,服务器也进入establish状态。
2024-08-20 20:24:12
971
原创 【网络编程】基于UDP的TFTP文件传输
简单文件传输协议,适用于在网络上进行文件传输的一套标准协议,使用UDP传输特点:是应用层协议基于UDP协议实现数据传输模式octet:二进制模式(常用)mail:已经不再支持。
2024-08-18 14:07:01
461
原创 【网络编程】 基于UDP的网络聊天室
将前面的数据结构,多线程,网络的内容加在一起的一个项目,比较综合,在代码部分采用了分文件编译并且写了比较详细的注释(个人觉得)。ps:希望对大家有用。
2024-08-17 00:49:21
1330
原创 【网络编程】组播的实现(C语言,linux,Ubuntu)
1> 组播也是实现一对多的通信方式,对于广播而言,网络需要对每个消息进行复制转发,会占用大量的带宽,导致网络拥塞2> 组播可以实现小范围的数据传播:将需要接收数据的接收端加入多播组,发送端向多播组中发送消息,每个组内成员都能接收到消息3> 需要对接收端进行设置,将接收端加入多播组1、需要使用setsockopt函数实现2、需要对网络层设置:IPPROTO_IP3、需要对加入多播组属性设置:IP_ADD_MEMBERSHIP4、属性值的类型。
2024-08-14 10:55:00
714
原创 【网络编程】广播代码实现(C语言,linux,Ubuntu)
1> 单播:发送端和接收端完成一对一的通信方式。目前的通信模型都是单播2> 广播:发送端和接收端完成一对多的通信方式,网络将发送端的数据,全部复制一遍发送给每个接收端一份。3> 组播:发送端和接收端完成一对多的通信方式,但是仅仅只限于加入多播组的成员。
2024-08-14 10:33:21
449
原创 【网络编程】TCP机械臂测试
注意:关闭计算机的杀毒软件,电脑管家,防火墙1)基于TCP服务器的机械臂,端口号是8888, ip是Windows的ip;查看Windows的IP:按住Windows+r 按键,输入cmd , 输入ipconfig2)点击软件中的开启监听;3)机械臂需要发送16进制数,共5个字节,协议如下起始结束协议,固定的;0x02:控制机械手臂协议,固定的;x:指定要操作的机械臂0x00 红色摆臂0x01 蓝色摆臂y:指定角度。
2024-08-13 20:28:22
528
原创 【网络编程】TCP的基础通信
功能:位套接字分配名称参数1:通过socket函数创建出来的套接字文件描述符参数2:通用地址信息结构体,需要根据具体使用的地址族而定, struct sockaddr仅仅只是为了类型的强制转换,防止出现警告跨主机间通信:man 7 ip/* 表示通信域 *//* 端口号的网络字节序 *//* ip地址 *//* IP地址的网络字节序 */同一主机间通信:man 7 uninx/* 表示通信域:AF_UNIX *//* 套接字文件的地址 */参数3:参数2的大小。
2024-08-12 20:23:28
998
原创 【笔试题面试题】IO类 知识点汇总(笔试面试题)
IO全称为Input/Output,即输入/输出,它指的是计算机系统中数据的输入和输出过程。1、标准IO属于库函数,调用封装好的相关库函数,来实现数据的输入输出;文件IO属于系统调用,调用系统(内核)提供的相关函数,来实现数据的输入输出2、标准IO操作的是文件指针,文件IO操作的是文件描述符3、标准IO有缓冲区,文件IO没有缓冲区。
2024-08-11 19:48:10
570
原创 使用C语言实现多进程文件管理器
实现一个多进程文件管理器,支持文件的查看信息(ls)、拷贝(cp)、删除(rm)、移动(mv)、更改文件权限(chmod)和查看内容(cat)。系统调用和库:unistd.h, fcntl.h, sys/types.h, sys/stat.h, dirent.h, stdio.h, stdlib.h。实现文件的查看信息(ls)、拷贝(cp)、删除(rm)、移动(mv)、更改文件权限(chmod)和查看内容(cat)的函数。在父进程中使用switch,case来进行选择判断,在主函数中创建进程,
2024-08-11 19:25:33
524
原创 【IO】内核提供的原始通信方式(pipe,mkfifo,signal,alarm)
参数:接收文件描述符的数组,pipefd[0]表示管道文件的读端,pipefd[1]表示管道的写端。功能:给进程设置一个定时器,以秒为单位,当定时器到位后,后向该进程发送一个SIGALRM的信号。功能:在通过内核在内存中创建一个无名管道,并通过参数将该管道文件的两个文件描述符返回。返回值:>0:表示返回的上一个定时器剩余的秒数,并且重置上一个定时器。返回值:成功返回处理方式的起始地址,失败返回 SIG_ERR。返回值:成功返回0,失败返回-1并置位错误码。返回值:成功返回0,失败返回-1并置位错误码。
2024-08-11 19:24:23
215
原创 IO函数汇总
O_EXCL:确保打开的是不存在的文件,通常跟O_CREAT一起使用,表示本次操作必须创建新文件,如果文件存在,则open函数报错,错误码为:EEXIST。O_CREAT:如果文件存在,就直接打开,如果文件不存在,则创建文件,此时,参数3必须要加,表示创建的文件权限。w+ 以读写的形式打开文件,如果文件存在,则清空文件内容,如果文件不存在,则创建该文件,文件光标定位在开头.w 以只写的形式打开文件,如果文件存在,则清空文件内容,如果文件不存在,则创建该文件,文件光标定位在开头.//将回车换成 ‘\0’
2024-08-03 09:44:35
612
原创 华清IOday3 24-7-30
进程(Process)是计算机科学中的一个基本概念,它指的是在操作系统中执行的程序的实例。程序与进程的区别程序是一组静态的指令,存储在磁盘或内存中,是被动的代码集合。进程是程序的动态执行实例,是操作系统进行资源分配和调度的一个独立单位。地址空间每个进程都有自己的地址空间,这意味着它拥有自己的代码、数据和堆栈。独立性进程之间是相互独立的,一个进程的崩溃通常不会影响其他进程。资源分配操作系统为每个进程分配必要的资源,如内存、输入/输出设备等。进程状态。
2024-07-30 20:27:56
1110
原创 华清数据结果项目(24-7-27):基于链表的通信录管理意义:对于一个通信录来说,要管理联系人的编号,姓名,性别,电话。开发其系统主要为了帮助用户提高通讯录有管理效率,节约资源,提高信息的精确度
【代码】项目:基于链表的通信录管理意义:对于一个通信录来说,要管理联系人的信息,包括编号,姓名,性别,电话。开发其系统主要为了帮助用户提高通讯录有管理效率,节约资源,提高信息的精确度。
2024-07-27 15:54:00
205
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人