文件查看器

Linux上的文件操作是真的不会,C语言里静态变量的用法也不清楚,全是参考学长的博客,学到了好多https://blog.csdn.net/easylovecsdn/article/details/82990131

 

#include<stdio.h>
#include<iostream>
#include<string.h>
#include <sys/stat.h>
#include <dirent.h>
#define MAXSIZE 100
using namespace std;
void showDirStructure(char *folderPath) {
    static int flor = 0;                                      //层数

    for (int i = 0; i < flor*2; i++) cout << " ";    //输出前置空格

    char buf[256];           //存放当前最高路径的文件夹名
    int len = 0;
    for (int i = strlen(folderPath)-1; folderPath[i] != '/'; i--) 
    buf[len++] = folderPath[i];                    //folderPath是完整的攀附路径,在此初步提取文件夹名
    buf[len] = '\0';

    for (int i = 0; i < len/2; i++) {                //初步提取出的名称是倒置的在此将他纠正
        char t = buf[i];
        buf[i] = buf[len-1-i];
        buf[len-1-i] = t;
    }

    cout << "+--" << buf << endl;                   //将文件夹名称输出


    DIR *dir = opendir(folderPath);               //相当于File 
    struct dirent *i = NULL;

    while ((i = readdir(dir)) != NULL) {            //读取文件夹里的内容,读取时会顺序读取所有内容 

        if (!strcmp(i->d_name, ".") || !strcmp(i->d_name, "..")) continue;     //读取出的内容包含.或..将其跳过

        strcpy(buf, folderPath);
        strcat(buf, "/");
        strcat(buf, i->d_name);                     //这3步string操作将完整的路径名称存放置buf中

        struct stat M;
        stat(buf, &M);

        if (S_ISDIR(M.st_mode)) {                   //判断文件类型是否为文件夹
            flor += 1;
            showDirStructure(buf);
            flor -= 1;                              //这里运用到了回溯的思想
        } else {

            for (int i = 0; i < (flor+1)*2; i++) 
            cout << " ";                            //若不是文件则多输出两个空格然后输出文件名

            cout << "--" << i->d_name << endl;
        }
    }

    closedir(dir);
}
int main() {
    showDirStructure("C:/Users/王教授/Desktop/dir");
    return 0;
}

universal viewer (atviewer) 是一个高级文件管理器,它的外观类似于total commander的列表,但它可预览大量文件格式,例如office文件,图片,各种网页和编码,这样使用起来就方便多了! 进入工具后,选择Options->Configure->General ->Language,更换成Chinese即可更改为中文界面! 支持的文件格式是: ·图像:全部主流的图形格式:JPG BMP ICO GIF PNG WMF TIFF PSD...,超过 40 种格式。也支持从 400 照相机的 RAW 图像。 ·多媒体:全部主流的媒体格式:AVI MPG WMV MP3 MP4 FLV MKV...,超过 170 种格式。 ·Word: MS Office Word 文件类型:DOC DOCX。 ·Excel:MS Office Excel 文件类型:XLS XLSX。 ·PDF:Adobe PDF 格式,还有 DJVU XPS CBR CBZ。 ·RTF:丰富文本格式。 ·Internet:全部由 MS Internet Explorer 支持的文件类型:HTML XML MHT... ·文本:对于未知文件类型的文本查看。可以无限大小的文件(甚至超过 4GB)。支持全部主流的文本编码。Unicode/UTF-8 查看模式可用。 ·插件:全部由 Total Commander 列表器插件 支持的文件类型。 注意:对于 Word/Excel/PDF 文件,要查看这些文件是不需要额外的软件的。根本不用安装MS Office/Adobe Reader/等。对于多媒体文件,也不需要外部编解码器。 应用程序默认是整合到 Windows 资源管理器 的上下文菜单,所以从资源管理器的任何位置调用它都没有问题:右击文件并选择 “Universal Viewer”项目。 也可以将它整合到其它流行的文件管理器内。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值