Llllln 发表于 2020-11-18 09:46:41

读取文件夹下所有文件名称

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

void get_file_list(const char* path, char** filename);

int main() {
        char path = "";
        printf("请输入路径(例如d:\\install):");
        scanf("%s", path);
        char filename; char* pfn;
        for (int i = 0; i < 100; i++) {
                filename = 0;
                pfn = filename;
        }
        get_file_list(path, pfn);
        for (int i = 0; i < 100; i++) {
                if (filename == 0) break;
                printf("%s\n", filename);
        }
        system("pause");
        return 0;
}

void get_file_list(const char* path, char** filename) {
        char cmd = ""; FILE* fptr;
        strcat(cmd, "dir "); strcat(cmd, path); strcat(cmd, " /s /b > a.log");
        system(cmd);
        fptr = fopen("a.log", "r+");
        if (fptr == NULL) {
                printf("path '/s' is not exit/n", path);
               
        }
        char temp = ""; int i = 0;
        while (fgets(temp, 100, fptr) != NULL) {
                strcpy(filename, strrchr(temp, '\\') + 1);
                filename) - 1] = 0;
                i++;
        }
        fclose(fptr);
}




各位大佬,这是网上找的一个读取文件夹下所有文件名称的代码,运行之后输入路径但是什么也读取不出来,请问是为什么呀?我是Windows下的vs2019

昨非 发表于 2020-11-18 09:51:19

首行加上#define _CRT_SECURE_NO_WARNINGS   

昨非 发表于 2020-11-18 09:53:14

这个安全问题是vs2019的常见问题了,通常添加个宏定义就能去掉

Llllln 发表于 2020-11-18 10:10:43

昨非 发表于 2020-11-18 09:53
这个安全问题是vs2019的常见问题了,通常添加个宏定义就能去掉

可是我运行输入路径之后什么也没有输出,这是怎么回事啊?您能运行一下试试吗?感谢!

昨非 发表于 2020-11-18 10:15:22

Llllln 发表于 2020-11-18 10:10
可是我运行输入路径之后什么也没有输出,这是怎么回事啊?您能运行一下试试吗?感谢!

亲测没问题,你检查一下你路径对不对!
请输入路径(例如d:\install):D:\python\源文件\FishC_作业\将文件对话拆分保存
boy_1.txt
boy_2.txt
boy_3.txt
girl_1.txt
girl_2.txt
girl_3.txt
record.txt
将文件对话拆分保存.py

昨非 发表于 2020-11-18 10:18:35

路径可以从我的电脑里复制出来,尽量选个小点儿的文件夹

如果文件太多了,可能需要运行很久,所以这边你看不到输出

Llllln 发表于 2020-11-18 10:25:16

昨非 发表于 2020-11-18 10:15
亲测没问题,你检查一下你路径对不对!

非常感谢!是我路径输错啦,应该输入最后一级,我原来想的是输入任意一级就可以读取出下一级的文件名称,但是这个代码好像不是这样的

昨非 发表于 2020-11-18 10:26:49

Llllln 发表于 2020-11-18 10:25
非常感谢!是我路径输错啦,应该输入最后一级,我原来想的是输入任意一级就可以读取出下一级的文件名称, ...

解决了就好
记得给个最佳哈
页: [1]
查看完整版本: 读取文件夹下所有文件名称