![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
APUE
文章平均质量分 53
blessing-嵌入式
这个作者很懒,什么都没留下…
展开
-
APUE 5.14(图5-15) memstr程序详细解析
APUE 5.14(图5-15) memstr程序详细解析原创 2023-03-31 15:50:19 · 153 阅读 · 0 评论 -
C语言中的指针和字符串常量区
本文介绍了 C 语言中指针和字符串常量区的概念、特点及使用方法,并分别讨论了指针与字符串常量区的概念,下面是关于如何避免常见错误的内容。原创 2023-03-31 14:46:14 · 538 阅读 · 0 评论 -
Linux下使用fread和fwrite读写二进制文件
在写入或读取二进制文件时,建议使用"wb+"或"rb+"模式,以使文件既可读又可写。在这个更新的示例程序中,我们采用了打开模式、关闭和重新打开文件指针以及指针位置等多种解决方案,以确保在读写二进制文件时不会出现问题。在写入数据后,立即关闭文件指针,并在需要时重新打开它。函数读取文件中的数据之前,请确保文件指针已重置到文件开头。在打开文件时使用"wb+"或"rb+"模式,以使文件既可读又可写。在此示例程序中,我们首先使用"wb+"模式打开文件,并使用。在C语言中,当尝试以"wb"模式打开文件并使用。原创 2023-03-30 20:52:57 · 1144 阅读 · 0 评论 -
freopen函数
freopen()函数的第一个参数是要重新打开的文件名,第二个参数是新的打开模式,第三个参数是要重新打开的文件流指针。freopen()是C语言标准库中的一个函数,用于重新打开一个已经打开的文件,从而改变该文件的指针和打开模式等属性。2.更改文件模式:使用freopen()函数也可以在不改变文件指针位置的情况下,更改文件打开模式。重新打开后,原来的文件流指针(例如fp)将被覆盖,需要重新赋值。“w”:以写方式打开文件(如果文件已存在,则先清空文件)。“a”:以追加方式打开文件,并将文件指针移到文件末尾。原创 2023-03-30 16:05:53 · 4200 阅读 · 0 评论 -
跟随符号链接和不跟随符号链接
例如,在复制或移动文件时,如果跟随符号链接,则可能会不小心复制或移动链接指向的目标文件,而不是原始文件本身。"跟随符号链接"和"不跟随符号链接"是指在操作系统中访问一个符号链接时,是否要跟随该符号链接指向的目标文件或目录进行操作。)来访问一个符号链接时,系统会自动跳转到该符号链接所指向的目标文件或目录,并对其执行请求的操作。)来访问符号链接时,系统会返回符号链接本身的信息,而不是跳转到其指向的目标文件或目录。命令将显示符号链接指向的目标文件的详细信息,而不是符号链接本身的信息。原创 2023-03-29 19:41:07 · 406 阅读 · 0 评论 -
stat函数中S_ISUID,有效用户ID和S_ISGID组ID
当SUID位被设置时,执行该文件的用户将会获得该文件所有者的权限来执行文件,而不是仅拥有该文件本身的权限。执行该文件的用户:执行该文件的用户指以./filename或sh filename等方式启动该文件的用户。执行该文件的用户只能拥有该文件的权限中允许的操作权限,不能更改文件的权限或所有者等信息。S_ISUID标志的设置使得执行该文件的用户可以绕过自己的权限限制,成为文件所有者并获得更高的权限来执行文件。文件所有者对于该文件拥有特殊的权限,如修改文件的权限、更改文件所有者、删除文件等。原创 2023-03-28 14:51:32 · 823 阅读 · 0 评论 -
Linux中fcntl函数中F_GETFD、F_SETFD和F_SETFL、F_GETFD的使用问题
然后问了一下chatgpt之后发现是cmd参数选错了,应该使用F_SETFL和F_GETFL,因为这个是文件状态标志。发现根本没有设置成功,两次的输出都是1。原创 2023-03-28 14:38:50 · 1042 阅读 · 0 评论 -
sizeof对字符串运算
这样对比下来就是输入参数sizeof(buf)出错了,sizeof运算符计算的是变量的大小,buf是指针,指针的大小与系统有关(4字节或者8字节,看是32位机器还是64位机器),这里是写入字符串的个数,所以应该使用strlen函数才对。原创 2023-03-26 21:30:20 · 83 阅读 · 0 评论 -
Linux中带缓冲IO和不带缓冲IO
系统调用,英文名system call,每个操作系统都在内核里有一些内建的函数库,这些函数可以用来完成一些系统系统调用把应用程序的请求传给内核,调用相应的的内核函数完成所需的处理,将处理结果返回给应用程序,如果没有系统调用和内核函数,用户将不能编写大型应用程序,及别的功能,这些函数集合起来就叫做程序接口或应用编程接口(Application Programming Interface,API),我们要在这个系统上编写各种应用程序,就是通过这个API接口来调用系统内核里面的函数。数据——内核缓存区——磁盘。转载 2023-03-25 20:28:47 · 267 阅读 · 0 评论 -
Linux软连接和硬链接
硬连接的作用是允许一个文件拥有多个有效路径名,这样用户就可以建立硬连接到重要文件,以防止“误删”的功能。只删除一个连接并不影响索引节点本身和其它的连接,只有当最后一个连接被删除后,文件的数据块及目录的连接才会被释放。在符号连接中,文件实际上是一个文本文件,其中包含的有另一文件的位置信息。从上面的结果中可以看出,硬连接文件f2与原文件f1的inode节点相同,均为9797648,然而符号连接文件的inode节点不同。通过上面的测试可以看出:当删除原始文件f1后,硬连接f2不受影响,但是符号连接f1文件无效。转载 2023-03-25 19:04:50 · 510 阅读 · 0 评论