- 博客(14)
- 收藏
- 关注
原创 柔性数组笔记
这种初始化方式不是指针的合法初始化语法,因为它试图用一个初始化列表来初始化一个指针,而指针应该被初始化为一个地址值(比如另一个变量的地址、动态分配的内存地址或者字符串常量的地址等)。不是不定长数组,并且这种初始化方式严格来说在 C 语言中是错误的,但在某些编译器中可能不会报编译错误而是给出警告。要正确打印结构体中的信息,可以分别打印各个成员,或者使用更合适的方式来处理和打印柔性数组的内。来初始化结构体中的柔性数组成员。不是不定长数组,它是一个定长数组,只是这个数组被初始化为只有一个元素且该元素值为 0。
2024-09-09 12:10:09
250
原创 QT简单播放视频窗口
(2)在有关路径的语句中,如果要用相对路径,一定要注意把这里的√去掉,否则工作目录和文件目录不在一个文件,比较难找。如果勾选了Shadow Build,则构建过程中生成的中间文件和输出文件(工作目录)将默认存储在一个与源代码目录不同的位置。第一句代码中,使用的是"\n"作为换行符,它会立即执行换行操作,然后执行暂停操作。第二句代码中,使用的是"/n"作为换行符,是一个无效的换行符,它不会立即执行换行操作,而是等待一段时间才会执行换行操作,然后再执行暂停操作。因此,导致了这两句代码的执行结果有区别。
2023-07-02 21:43:48
1244
1
原创 QT实现简易软键盘
(4)这里只使用1、2、3、r、o、o、t、del和exit这几个按钮,方便测试。exit按钮用的是toolButton,或者用noFocus策略的按钮。用noFocus的按钮应该也是可以的,不过我偶尔成功偶尔失败,还是用toolButton比较顺畅。其他按钮都是普通pushButton,都要设置成noFocus,否则会抢焦点,使得输入框无法显示。(3)将Widget拖到login和concel按钮上,然后右键Widget设置“放在前面”。Widget控件的特点是,其上的小控件都会与其镶嵌,融为一体。
2023-07-02 11:55:06
2245
5
原创 QT超简易计算机
大概思路:此项目只进行两个数的运算,因此每次输入都要判断是符号前的数,还是符号后的数1,因此我要在大类test中定义两个字符串num1和num2。record即是输入记录,方便追加后续字符。布尔型add_num则是判断是否是符号前的数,如果是符号前(左)的数,则用num1来追加输出,反而num2追加输出。
2023-06-28 23:55:29
195
1
原创 UDP的一对多通信(广播)-----个人笔记
广播,就是想对局域网内所有的主机同时发送数据,但是广播还是要指明接收者的端口号的,因为不可能接受者的所有端口都来收听广播。(2)这次IP为192168.341和192168342的主机接口都会和此广播地址匹配成功,直到该数据报进入UDP层时根据端口是否匹配才判断是否丢弃该数据,端口为3333的会保留该数据,否则将数据丢弃。广播:根据定义,广播分组会去往子网上的所有主机,包括发送主机自身,广播的缺点:未参加广播的主机也会受到影响。level对应的选项,一个level对应多个选项,不同选项对应不同功能。
2023-05-27 20:28:03
5690
3
原创 TCP通信
发送命令优先使用字符串,数字容易引起破坏、不稳定等。不过,一般问题不大。scanf输入数据之后,要手动回车,才能刷新缓冲区。accept()函数拿到客户端的端口和ip地址。发送多个文件时,要考虑解决粘包问题。(4)分析:。
2023-05-21 16:53:46
112
1
原创 多进程并发服务器(低端)
多进程的并发的服务器中,父进程一旦监听到客户端连接,就会创建相应的子进程来处理。因此,防止僵尸进程,只能依靠信号,要进行信号改造,一有子进程退出就会产生DIGCHLD信号,改造DIGCHLD信号,使得父进程一收到信号就跳过来回收。子进程资源是完全copy了父进程一份,如果client退出的话就直接break,accept就拿不到fd,就会出错。父进程可以捕捉该信号,来实现对子进程的回收,或者了解子进程所处的状态。1.子进程终止时会向父进程发送SIGCHLD信号,告知父进程回收自己,但该信号的。
2023-05-20 20:32:35
139
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人