您的位置:首页 > 编程语言 > C语言/C++

C++程序中统计一个目录下的文件数量

2010-06-20 00:54 711 查看
如果一个目录下不包含其他目录,只有文件,怎么得到文件数量?这么容易的一个问题,你会用什么方法去做?

我喜欢利用shell来帮忙:

在程序中构造shell命令:ls 目录名 | wc -l

然后执行它,得到返回的结果,就结束了。

执行一个shell命令并获取其返回结果的函数示例:

std::string getCmdRes(const std::string sc)

{

FILE* crs = popen(sc.c_str(), "r");// execute the shell command

char result[1024] = "0";

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

if (NULL != crs)

{

fclose(crs);

crs = NULL;

}

std::string res = result;

return res;

}

将shell命令作为参数传入,返回的就是执行结果了,简单吧。

类似地,如果有其他可以用shell命令很容易实现的运算,我们也可以这样“偷懒”,直接在C++里“调用”它。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: