![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
是旭旭呀
我们要学会长大,一个人抵过千军万马
展开
-
求指定目录下所有普通文件的大小之和
问题引入:假设定义一个目录的大小为,该目录下面以及其所有子目录,所有的普通文件的大小之和,请写一个函数求一个目录的大小。(Linux系统注意:过滤掉 . 和 …这两个隐藏文件夹)#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <string.h>#include <dirent.h>int原创 2020-11-05 16:43:02 · 1061 阅读 · 0 评论 -
Linux系统IO实现文件拷贝
问题引入:利用Linux提供的系统IO函数(eg:open , close , read , write ,lseek ),现两个文件的拷贝,文件名从命令行参数传入:./a.out 11.txt 22.txt#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int main(in原创 2020-11-05 16:25:27 · 2580 阅读 · 0 评论 -
读取bmp位图的信息
问题引入:解析一张bmp图片文件,(bmp图片文件格式https://download.csdn.net/download/weixin_45800785/13089497)(1)判断是否为真正的bmp文件,输出判断结果;(2)如果是求bmp文件的大小?bmp文件的宽和高?bmp文件的分辨率?bmp文件中一个像素点占了个字节?#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#i原创 2020-11-05 14:03:40 · 513 阅读 · 0 评论 -
动态库与静态库的区别
动态库与静态库的区别动态库和静态库都是代码的二进制的封装形式。区别:1、动态库对于动态库来说,编译可执行文件时候,并没有把动态库的内容拷贝到可执行文件中,只是做了一个标记,表示可执行文件需要用到某某库。这样的话运行该可执行文件时,需要把所需要的动态库都下载到目标板,并且配置LD_LIBRARY_PATH。2、静态库对于静态库来说,编译可执行文件时,会把静态库中所有的内容编译到可执行文件中,运行时,直接运行。如果要在目标板上运行,就不需要把静态库下载到板子上。动态库两个明显的优势:(1)当接口原创 2020-11-05 13:46:10 · 905 阅读 · 0 评论 -
Makefile
Makefile:Makefile是make的一个配置文件,文本文件make:是一个智能化自动编译的工程管理工具。他可以决定在一个工程中哪些文件需要被编译,哪些文件不需要被编译。而且知道如何去编译他们。make 的正常工作是离不开Makefile。Makefile(makefile)文件格式:文件名:Makefile or makefile文件格式:TARGET:PREREQUISITES<tab键>command1<tab键>command2…(1)TARG原创 2020-11-05 13:37:16 · 153 阅读 · 0 评论 -
判断大端模式和小端模式
测试自己的电脑是大端模式还是小端模式问题引入:CPU内部寄存器是按bit位来存储信息的,但是内部寄存器的数量是非常有限的,所有我们经常要把寄存器的数据存储到内存中。但是内存不是按bit位来存储信息的,按字节编号(地址)来寻址。如果我们要把寄存器的数据保存到内存中去,那么怎么做呢?计算机中有两种内存存储模式:大端模式:(Big_Endian)是指数据的高字节(高位)保存在内存的低地址中,而数据的低字节(低位)保存在内存的高地址中。这种存储方式有点类似于把数据作为一个字符串处理,地址从小向大增加,原创 2020-11-04 10:32:11 · 280 阅读 · 0 评论 -
快速排序(递归)
快速排序(递归):对于一个给定的数组,从中间位置选择一个元素,以该元素为界将其余元素划分为两个子集,一个子集中的所有元素都小于该元素,另一个子集中所有的元素的值都大于或者等于该元素。对这样的两个子集递归执行者一过程。当某一个子集中的元素个数小于2时,这个子集就不需要再次排序,终止递归。#include <stdio.h>void swap(int a[],int i,int j){ int temp; temp = a[i]; a[i] = a[j]; a[j] = te原创 2020-11-04 10:20:23 · 1439 阅读 · 1 评论 -
汉诺塔(Hanoi)移动步骤问题
汉诺塔 (Hanoi)规则:把n个盘子从A柱,移动到C柱,中间可以使用B柱,把移动的步骤及移动的步数打印出来。#include <stdio.h>int step = 0;void hanio(int n,char A,char B,char C){ if(n == 0)//当盘子个数为0时,答案是显而易见的,而且能够结束函数 { //printf("%c ---> %c\n",A,B); //step++; //printf("%c ---> %c\n"原创 2020-11-04 09:47:59 · 2471 阅读 · 1 评论