Linux环境下统计一个目录下的文件数量--C++

本文最后更新于:2022年5月29日 上午

统计一个目录下的文件数量,该目录下不包含其他目录,只有文件。这种情况可以在程序中构造shell命令:ls 目录名 | wc -l
然后执行它,得到返回的结果,就结束了。

直接看示例代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <iostream>
#include <string>

using namespace std;

// ../csv 为文件夹路径
#define GET_FILE_NUM_CMD "ls ../csv | wc -l"

void getFileNum(void)
{
FILE* crs = popen(GET_FILE_NUM_CMD, "r"); // execute the shell command

char result[4] = "0";

fread(result, sizeof(char), sizeof(result), crs);

if (NULL != crs)
{
fclose(crs);
crs = NULL;
}

int num = atoi(result); // 转换为int类型
cout << "file num: " << num << endl;
}


int main(int argc, char const *argv[])
{
getFileNum();

return 0;
}

Linux环境下统计一个目录下的文件数量--C++
https://kevinloongc.github.io/posts/17135.html
作者
Kevin Loongc
发布于
2020年9月3日
许可协议