自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(48)
  • 资源 (1)
  • 收藏
  • 关注

原创 列出指定目录下与正则表达式”abc*”匹配的所有文件

#include#include#include#include#include#include#include#define MAX 1024int dir_run(char *path,char *str){       DIR *dir;    struct stat st;    struct dirent *entry,*en;  

2014-06-14 18:49:50 1713

原创 列出指定目录下与正则表达式”*.sh”匹配的所有文件

#include#include#include#include#include#include#include#define MAX 1024int dir_run(char *path,char *str){    DIR *dir;    struct stat st;    struct dirent *entry,*en;        c

2014-06-14 18:46:56 1180

原创 列出指定目录下后缀是.mp3的所有文件

知识点:使用opendir和readdir函数来获得指定目录下文件的文件名称。代码:

2014-06-14 18:43:44 925

原创 删除指定目录下的某个普通文件

描述:先判断指定目录下是否存在该文件,如果不存在,则返回错误。如果存在,那么调用unlink函数或remove函数来删除。 要求:将文件的绝对路径和文件名做输入参数,打印信息表明是否删除成功。 知识点:int unlink(const char * pathname)#include int remove(const char * pathname)#include

2014-06-14 18:40:17 540

原创 在指定目录下删除一个空目录

要求:给出指定目录和要删除的子目录名做输入参数,打印信息表明是否删除成功。判断要删除的目录是否存在于指定目录下,如果存在,则再判断该目录是否为空。知识点:删除目录函数:int rmdir(const char *pathname)#include

2014-06-14 18:35:18 953

原创 在指定目录下创建一个新目录

要求:给出指定目录和要新建的子目录名做输入参数,打印信息表明是否创建成功。首先判断指定目录下是否已存在要创建的目录,如果已存在,则不必再创建。知识点:创建目录函数:int mkdir(const char *pathname,mode_t mode)#include  #include #include

2014-06-14 18:29:51 9173

原创 列出指定目录下属于给定用户的所有文件

要求:给定目录路径和用户名作为输入参数,打印输出该目录下属于该用户的所有文件名。 知识点: struct passwd * getpwnam(const char * name)  #include    #include getpwnam()用来逐一搜索参数name 指定的账号名称,找到时便将该用户的数据以passwd结构返回。如果返回NULL 则表示已无

2014-06-14 18:23:38 794

原创 列出指定目录下所有可被其他用户执行的文件

知识点: stat中的st_mode中包含了文件的访问权限位,共有9个:S_IRUSR: 用户读 S_IWUSR: 用户写 S_IXUSR: 用户执行S_IRGRP: 组成员读S_IWGRP: 组成员写S_IXGRP: 组成员执行S_IROTH: 其他用户读S_IWOTH: 其他用户写S_IXOTH: 其他用户执行使用st_mode & S_IXOTH 可以获得文件的其

2014-06-14 18:19:52 578

原创 列出指定目录下在过去一小时内被修改的文件

要求:可在子任务9的基础上完成,输出该路径下所有当前时刻起前一小时内被修改的文件及其对应的最后被修改时间。知识点:使用time函数获得当前的时间:time_t time(time_t *t)#include此函数会返回从公元1970年1月1日的UTC时间从0时0分0秒算起到现在所经过的秒数。如果t 并非空指针的话,此函数也会将返回值存到t指针所指的内存。

2014-06-14 18:15:18 1628 4

原创 列出指定目录下所有文件的最后被修改时间

要求:输入指定目录路径,输出该路径下所有文件及其对应的最后被修改时间。知识点:在Linux下,一个文件也有三种时间,分别是:访问时间、修改时间、状态改动时间。int stat(const char *restrict pathname, struct stat *restrict buf)通过stat结构体中的成员变量st_mtime可以获得文件的最后被修改时间

2014-06-14 18:09:33 1603

原创 递归列出指定目录下所有的普通文件

要求:打印输出指定目录下所有普通文件,若文件为子目录,则递归搜索子目录下的普通文件。知识点:普通文件(Regular File)。指普通意义上的文件,如数据文件、可执行文件等。与其他类型的文件区别开来。int stat(const char *restrict pathname, struct stat *restrict buf) 宏定义S_ISREG (st_mode)判断是否为普通文件。

2014-06-14 17:51:46 1467

原创 递归列出指定目录下所有的符号链接文件

要求:打印输出指定目录下所有符号链接文件,若文件为子目录,则递归搜索子目录下的符号链接文件。知识点: int lstat(const char *restrict pathname, struct stat *restrict buf) #include #include  函数说明 lstat()与stat()作用完全相同,都是取得参数file_name所指的文件状

2014-06-14 17:49:42 1293

原创 搜索指定目录下是否存在某个文件

描述:搜索指定目录下是否存在某个文件,如果存在,则输出该文件的绝对路径要求:指定目录路径与待搜索文件名作为输入参数,打印输出搜素结果信息。如果判断文件是目录文件,则需要递归进行搜索知识点:DIR* opendir (const char * path )  struct dirent *readdir(DIR *dir)根据dirent结构体中获得的文件的文件名,来判断是否是要搜素

2014-06-14 17:46:56 1037

原创 递归列出指定目录下的所有文件的绝对路径

#include#include#include#include#include#include#include#define SIZE 1024int dir_run(char *path){   DIR *dir;      dir = opendir(path);       if (dir == NULL)     {         

2014-06-14 17:42:22 1486

原创 递归列出指定目录下的所有文件名

知识点:递归函数:一个过程(或函数)直接或间接调用自己本身,这种过程(或函数)叫递归过程(或函数)递归就是在过程或函数里调用自身在使用递增归策略时,必须有一个明确的递归结束条件在判断文件是目录文件后,递归调用函数遍历该子目录

2014-06-14 15:33:59 1043

原创 列出指定目录下的所有文件的绝对路径

要求:指定目录路径做输入参数,打印输出该路径下所有文件的绝对路径使用非递归方式 知识点:绝对路径由指定目录的绝对路径加上文件的相对路径得到 使用sprintf()创建绝对路径int sprintf( char *buffer, const char *format, [ argument] … )buffer:char型指针,指向将要写入的字符串的缓冲区。format:

2014-06-14 15:31:33 3136 1

原创 列出指定目录下所有文件名

要求:绝对路径名做输入参数,打印输出该路径下所有文件名 知识点:打开目录函数:DIR* opendir (const char * path )读取目录函数:struct dirent *readdir(DIR *dir)返回下一个目录项的指针。#include   #include

2014-06-14 15:27:46 1037

原创 判断文件是否是目录文件

描述:给出一个文件的绝对路径,判断该文件是否是目录文件要求:将文件的绝对路径做输入参数,打印信息表明该文件是否为目录 知识点:获取文件的属性int stat(const char *restrict pathname, struct stat *restrict buf) #include  #include

2014-06-14 15:23:35 882

原创 文件的删除

要求:输入要删除的文件名,输出是否删除成功的信息。知识点:int remove(const char *filename)参数: filename: 要删除的文件的名称返回值:一旦成功,则返回0,否则,返回-1头文件:stdio.h

2014-06-14 15:18:18 466

原创 文件另存为

描述:将已有文件另存为一个新的文件。综合文件的创建和读写操作。要求:输入文件名以及要另存为的新文件名,输出是否成功的信息。知识点:FILE *fopen(const char *path, const char *mode);size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)size_t fwrite(const voi

2014-06-14 15:15:41 1667

原创 文件的重命名

要求:输入文件名以及新文件名,输出是否成功命名文件。 知识点:int rename(const char *old_filename, const char *new_filename)old_filename: 包含将要被重命名的文件的原始名称。new_filename:新的文件名称。返回值:一旦成功,返回0,否则,返回-1.

2014-06-14 15:12:36 463

原创 文件写

要求:输入文件名及要写入文件的字符串,输出写入后文件的内容。每次需要在原有文件内容基础上追加写入。知识点:size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream)头文件:stdio.hptr:要获取的数据的地址(指针)size:单个元素的大小,单位是字节nmemb:元素个数stream:提供数据的文件指针返回值:

2014-06-14 15:10:22 421

原创 文件读

要求:命令行中以文本文件名做输入参数,打印文件中内容。知识点:读函数:size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream)size:单个元素的大小,单位是字节     nmemb:元素个数     stream:提供数据的文件指针返回值:读取的元素的个数头文件:stdio.h;

2014-06-14 15:06:30 401

原创 文件创建

描述:创建一个新的文件。要求:输入要创建的文件名,输出是否创建成功信息。知识点:FILE *fopen(const char *path, const char *mode) ,注意打开方式mode的选择。如果打开文件成功,则fopen函数返回一个指向FILE结构体的指针,否则返回NULL。调用结束后注意关闭文件:int fclose(FILE* stream)注意:fopen()与fcl

2014-06-14 15:01:43 532

原创 修改文件的访问时间和修改时间为当前的时间

要求:输入文件名,输出处理前文件的最后访问/修改时间和处理后的最后访问/修改时间。知识点:int utime(const char * pathname, const struct utimbuf * times); #include times: 结构体struct utimbuf变量。

2014-06-14 14:50:11 2233

原创 修改文件的组id

要求:输入文件名和新的组id,打印输出该文件原有组id和新的组id。知识点:chown函数:int chown(const char *pathname, uid_t owner, gid_t group);#include    #include 参数pathname表示文件的路径参数owner表示新的所有者用户的ID。          参数group表示新的组ID。          参数o

2014-06-14 14:47:09 957

原创 获取文件属性

描述:获取文件的用户id,组id,大小,最后访问时间,最后修改时间。要求:输入文件名,打印输出该文件用户id,组id,大小,最后访问时间,最后修改时间。知识点:int stat(const char *restrict pathname, struct stat *restrict buf);stat结构体

2014-06-14 14:43:40 483

原创 设置文件的文件访问权限为:rw-r--r--

描述:rw- (user权限) / r– (group权限) / r– (others权限)r: 读权限    w: 写权限     x: 执行权限要求:输入文件名,打印输出该文件初始权限,以及修改为rw-r--r--后的权限知识点:设置文件的多个权限位,对这些权限位进行按位或操作即可。S_IRUSR | S_IWUSR

2014-06-14 14:39:41 11464

原创 关闭文件的 group的写权限和other的写权限

要求:输入文件名,打印输出该文件初始的group和others权限,以及关闭写权限后的group和others权限 知识点:用stat函数来获取文件的访问权限,然后用chmod函数来关闭group的写权限和other的写权限。修改权限函数: int chmod(const char * path,mode_t mode) #include #include 函数

2014-06-14 14:36:02 1050

原创 获取文件的user, group, others访问权限

描述:文件的访问权限分为:用户读,用户写,用户执行;组用户读,组用户写,组用户执行;其他用户读,其他用户写,其他用户执行。通过访问struct stat结构体中的st_mode成员,可以获取到文件的访问权限。要求:输入文件名,分别打印该文件的user、group及others的访问权限。知识点:获取文件的属性int stat(const char *restrict pathnam

2014-06-14 14:33:02 1049

原创 MySQL-WorkBench中出现Error communicating with gnome-keyring-daemon的处理方法

gedit /usr/bin/mysql-workbench and added the lineexport WB_NO_GNOME_KEYRING=1http://bugs.mysql.com/bug.php?id=52866关于这个人写的http://blog.sina.com.cn/s/blog_7187e24301016gj2.html#commonComment是完全错误的,是完

2014-06-14 12:09:04 1497

原创 利用 select 模型,实现一个 I/O 复用模式的服务器

/*server.c*/#include#include#include#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024#defi

2014-06-13 18:34:46 698

原创 设计和实现简单的协议,支持传输文件名和文件内容

/*server.c*/#include#include#include#include#include#include#include#include#include#include#include#include #define PORT                 1234#define MAX_QUE             5

2014-06-13 18:01:44 709

原创 在server程序中,将接收到的字符串保存到指定文件

/*server.c*/#include#include#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024int main(int ar

2014-06-13 11:36:59 553

原创 在client程序中,从指定文件读取数据并发送给server程序

/*server.c*/#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024int main(){    struct sockaddr_

2014-06-13 11:33:55 677

原创 为服务器程序增加清理僵尸进程机制

/*server.c*/#include#include#include#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024void

2014-06-12 16:52:28 513

原创 为多线程server端增加与client的交互通信功能

/*server.c*/#include#include#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024int main(){

2014-06-12 16:00:52 628

原创 实现server程序,支持多个client同时连接,为每一个client分配一个进程

/*server.c*/#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5int main(){    struct sockaddr_in local_sockaddr;  

2014-06-12 14:11:20 2616

原创 用UDP实现client程序发送字符串到server程序,server程序将字符串打印出来。

/*server.c*/#include#include#include#include#include#include#include#include#include#define PORT 1234#define BUF_SIZE 1024int main(){    struct sockaddr_in local_sockaddr;

2014-06-12 13:10:36 703

原创 实现client程序发送字符串到server程序,server程序将字符串打印出来

/*server#include#include#include#include#include#include#include#include#include#define PORT 1234#define MAX_QUE 5#define BUF_SIZE 1024int main(){    struct sockaddr_in

2014-06-12 13:08:33 1525

用c语言完成一个双向链表的创建,插入,删除

这是一个关于双链表的创建,删除,插入操作

2014-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除