程序练习与测试
Apollon_krj
岁月悠悠,衰微只及皮肤;热忱抛却,颓唐必至灵魂。
展开
-
Linux&C编程之Linux系统命令“cp -r”的简单实现
关于会用到的文件与目录的一些基本函数可参考: Linux&C编程之Linux系统命令“ls -l”的简单实现 一、测试结果:二、源代码:1、自定义头文件copy.h:/*copy.h*/#ifndef _COPY_H_#define _COPY_H_#include <stdio.h>#include <stdlib.h>#include <string.h>#include <unis原创 2017-02-18 21:18:30 · 5796 阅读 · 1 评论 -
Linux下用C语言实现简单的密码登录
通常,我们在切换计算机用户时,会需要输入密码。在Linux下,密码不可见;在Windows下,密码显示的则是··········的一串小黑点,或者登陆某一网站账号时密码为********的一串星号,其目的都是来隐藏密码。而这种密码的显示方式怎样是怎样实现的呢,今天,我就用C语言在Linux下简单实现一下。一、输入密码不回显:1、首先,我们需要了解几个函数以及结构体:(1)、结构体struct ter原创 2016-10-16 21:03:50 · 4434 阅读 · 0 评论 -
基于Linux的Socket编程之TCP全双工Server-Client聊天程序
一、引言:由于accept函数、read、write、recv、send等函数都是是阻塞式的,在同一个进程之中,只要有任何一个函数没有执行完毕,处于阻塞状态,之后的函数与功能就不能处理,很难实现点对点的Server-Client全双工通信。因为全双工通信是非阻塞式的通信方式,即使对方没有回复消息,都可以随时发送。如果只是电报机式的半双工通信,之前已经基本实现:基于Linux的SOCKET编程之TCP原创 2016-12-02 18:52:51 · 8529 阅读 · 2 评论 -
基于Linux的SOCKET编程之TCP半双工Client-Server聊天程序
所谓半双工通信,即通信双方都可以实现接发数据,但是有一个限制:只能一方发一方收,之后交换收发对象。也就是所谓的阻塞式的通讯方式。一、基本框架:1、首先搞清我们进行编程所处的的位置: TCP编程,具有可靠传输的特性,而实现可靠传输的功能并非我们将要做的事(这些事),我们要做的就是在内核实现的基础上调用系统的API接口直接使用。所以我们所处的位置就是位于应用层面与系统层面之间的。我觉得弄清这点是实现整原创 2016-11-29 19:48:12 · 2739 阅读 · 0 评论 -
Linux&C编程之Linux系统命令“ls -l”的简单实现
一、基础知识:1、获取文件详细信息的函数:(1)、获取文件信息的函数:#include<sys/stat.h>int stat(const char * path,struct stat * buf);/*将path参数(文件或目录)的文件信息写到buf中,buf为传出参数*/(2)、文件信息结构体:/*用不到的成员被注释掉,只需了解需要的成员即可*/struct stat{ //dev原创 2017-01-24 21:15:57 · 9046 阅读 · 10 评论 -
Linux C实现文件拷贝可变色进度条显示
printf的格式化输出中,可以设置前景色和背景色,因此进度条的颜色可以通过printf的格式化输出来实现;此外,进度条的实现主要依靠&amp;quot;\r&amp;quot;和&amp;quot;fflush(stdout)“来支持。”\r&amp;quot; 用来回到行首而不换行,fflush(stdout)是刷新屏幕输出缓冲区。只要根据进度,重新填写缓冲区内容,然后fflush()刷新缓冲区,重新在屏幕上打印缓冲区内容则可以动态实现进度原创 2018-09-30 13:34:19 · 1491 阅读 · 0 评论 -
驱动写久了脑子要生锈了!!!
今天没事儿干,写个小程序,却发现逻辑性思维越来越差,梳理加班时长的关系都无法快速梳理出来,结果最终还是磕磕绊绊,马马虎虎给搞完了,果然是驱动搞的时间长了,逻辑性思维下降,脑子生锈,一切基本全凭经验,痛苦~~~加班时长统计简单规则描述:①正常上班时间为:周一到周五8:30上班打卡,6:00下班打卡;②12:00-13:30为休息时间;③如果晚上加班,则18:45以后开始计算加班时长(...原创 2019-05-19 14:37:29 · 683 阅读 · 0 评论