gpt4 book ai didi

c - 将 readdir 保存到 C 中的缓冲区中

转载 作者:行者123 更新时间:2023-11-30 17:25:49 25 4
gpt4 key购买 nike

我正在使用readdir()读取并输出目录中的所有文件。问题是我需要将字符串保存到缓冲区中。有什么方法可以将输出保存到缓冲区或文件描述符等中吗?

这是我的代码:

  DIR *directory;
struct dirent *dir;

directory = opendir();

while ((dir = readdir(directory)) != NULL) {
printf("%s\n", dir->d_name);
}

closedir(directory);

最佳答案

使用scandir How to use scandir

它为您分配内存。这是一个例子

/**code to print all the files in the current directory **/
struct dirent **fileListTemp;
char *path = ".";//"." means current directory , you can use any directory path here
int noOfFiles = scandir(path, &fileListTemp, NULL, alphasort);
int i;
printf("total: %d files\n",noOfFiles);
for(i = 0; i < noOfFiles; i++){
printf("%s\n",fileListTemp[i]->d_name);

您可以修改它以满足您的需要。另外不要忘记释放由 scandir 分配的内存

关于c - 将 readdir 保存到 C 中的缓冲区中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26973906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com