导航:首页 > 文件类型 > linuxc遍历文件

linuxc遍历文件

发布时间:2023-06-12 08:36:43

A. linux下C/C++怎样编一个复制文件夹的程序

可以递归遍历文件夹下所有文件,根据文件大小和修改时间进行判断,把修改过的新版本覆盖旧版本。

本人并没有在Linux下编程的经验,只能给出思路,你找找Linux的系统调用,里面有需要文件操作功能,复制文件夹无非就是先创建文件夹,然后在把文件夹下的文件复制过来。对于文件夹内的文件夹,使用递归进行遍历。

我想你对递归应该了解,如果不想用系统调用的话,在Linux下我记得命令mkdir是创建文件夹,cp是复制文件,这样你可以在程序内使用system("mkdir 文件夹名")来进行创建文件夹,对应的可以用cp复制文件,不过这样比用系统调用效率低点

另:个人理解,Linux的系统调用跟Windows的API比较类似

B. Linux下C语言:如何遍历制定目录及其子目录下所有文件的文件名并将其按照最后修改时间排序呢

linux中有相关的API函数,可以读取目录中所有的文件名字,以及时间属性信息,你把这些信息读出来,利用各种排序算法排序就可以了

C. 欲在Linux系统下使用终端编写C语言程序,打算使用findfirst()、findnext()和fin

#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <io.h>

int
main(int argc, char *argv[])
{
intptr_t handle;
struct _finddata_t fileinfo;

handle = _findfirst("D:\\mymtom\\src\\demo\\*.c", &fileinfo);
if (handle == -1) {
属perror("_findfirst");
exit(1);
}

printf("%s\n",fileinfo.name);
while (_findnext(handle, &fileinfo) == 0) {
printf("%s\n",fileinfo.name);
}

_findclose(handle);

return 0;
}

D. linux 脚本代码出现问题

[ $count -gt 0 ]都需要空格的

E. linux shell 遍历文件夹 并将结果保存 到变量

#!/bin/bash
(($#<1))&&echo"paramiszero!"&&exit1
[!-d$1]&&echo"$1notpath"&&exit1
dir=$1
dir_p="$dirDirectory:"
cd$dir
dir=`pwd`
foriin`ls$dir`
do
if[-d$i];then
/tmp/sh/dir_file$i#我的脚本文件在/tmp/sh中,需要改一下这里
else
dir_p="$dir_pFile$i"
fi
done
cd..
echo$dir_p


实验结果:

[root@localhost sh]# ./dir_file /tmp/python/

python_2 Directory : File 1.log File 2.log

python_3 Directory : File 3.log

/tmp/python/ Directory : File p File t.py File y.py


这样应该可版以吧,试试看权

F. linux C 中的文件夹遍历dirent d_type表明该文件的类型 跪求~~~

enum

{

DT_UNKNOWN = 0,

# define DT_UNKNOWN DT_UNKNOWN

DT_FIFO = 1,

# define DT_FIFO DT_FIFO

DT_CHR = 2,

# define DT_CHR DT_CHR

DT_DIR = 4,

# define DT_DIR DT_DIR

DT_BLK = 6,

# define DT_BLK DT_BLK

DT_REG = 8,

# define DT_REG DT_REG

DT_LNK = 10,

# define DT_LNK DT_LNK

DT_SOCK = 12,

# define DT_SOCK DT_SOCK

DT_WHT = 14

# define DT_WHT DT_WHT

};

这是d_type的枚举类型..........每个值表示一个类型..........4是目录,0是未知,1是管道,2是字符设备,8表示文件...............6是块设备..........其他的都如字面表示..........很容易区分.........

G. 如何在linux系统中用C语言编程实现以非递归的方式查询指定目录下所有子目录的全部文件并保存文件名

把迭代得到的非文件文件夹项,即子目录保存到一个stack中。
随后逐个弹出栈顶元素并迭代之,就实现了以非递归方式遍历文件夹。

H. linux下C语言怎么统计某个目录下的文件个数

#include <stdio.h>
#include <stdlib.h>
#include <dirent.h>
#include <errno.h>
#include <string.h>

#define MAX 1024

int get_file_count(char *root)
{
DIR *dir;
struct dirent * ptr;
int total = 0;
char path[MAX];
dir = opendir(root); /* 打开目录*/
if(dir == NULL)
{
perror("fail to open dir");
exit(1);
}

errno = 0;
while((ptr = readdir(dir)) != NULL)
{
//顺序读取每一个目录项;
//跳过“..”和“.”两个目录
if(strcmp(ptr->d_name,".") == 0 || strcmp(ptr->d_name,"..") == 0)
{
continue;
}
//printf("%s%s/n",root,ptr->d_name);
//如果是目录,则递归调用 get_file_count函数

if(ptr->d_type == DT_DIR)
{
sprintf(path,"%s%s/",root,ptr->d_name);
//printf("%s/n",path);
total += get_file_count(path);
}

if(ptr->d_type == DT_REG)
{
total++;
printf("%s%s/n",root,ptr->d_name);
}
}
if(errno != 0)
{
printf("fail to read dir"); //失败则输出提示信息
exit(1);
}
closedir(dir);
return total;
}

int main(int argc, char * argv[])
{
int total;
if(argc != 2)
{
printf("wrong usage/n");
exit(1);
}
total = get_file_count(argv[1]);
printf("%s ha %d files/n",argv[1],total);
return 0;
}

阅读全文

与linuxc遍历文件相关的资料

热点内容
dede工具 浏览:507
5g网盟app怎么下载 浏览:486
微信备份老是连接中断 浏览:886
出台多少份文件 浏览:380
鞋子怎么搭配衣服的app 浏览:755
文件名使用的通配符的符号是什么 浏览:916
lol分卷文件损坏怎么办 浏览:276
6分管车螺纹怎么编程 浏览:732
海口农商银行信用卡app是什么 浏览:770
win10任务栏文件夹我的电脑 浏览:14
安卓nba2k18 浏览:776
文件夹密码怎么修改密码 浏览:271
苹果数据中心用什么服务器 浏览:769
省内圆通快递寄文件夹需要多少钱 浏览:740
iphone程序加密 浏览:884
win10文件夹调整文件行高 浏览:681
创意手绘教程 浏览:754
微信删除帐号信息 浏览:596
mysql操作类文件 浏览:649
绕过xp密码 浏览:158

友情链接