C++如何实现 统计 一个文件夹中的文件的 个数 并用 FOR循环 依次读取文件的文件名

 我来答
L_o_o_n_i_e
2011-03-28 · TA获得超过4.2万个赞
知道大有可为答主
回答量:8507
采纳率:38%
帮助的人:5236万
展开全部
给出 临时工作文件名和路径,要查的文件夹路径和文件夹名。
用 DOS 命令获文件名

#include <stdio.h>
#include <stdlib.h>
#define Buff_size 4096
FILE *fin;
void main (int argc, char *argv[])
{
char current_dir[72], namelist[72],current_file_name[72];
char command[200];
int i,j,n=0;
char *buff;

buff = (char *) malloc( Buff_size * sizeof (char));
if (!buff) {
printf("\007No enough memory -- Can not alloc the Buff\n");
exit(2);
};
strcpy(namelist,"C:\\temp\\abc.lis"); // 临时工作文件名和路径
strcpy(current_dir, "D:\\zzz"); //要查的文件夹路径和文件夹名

sprintf(command,"DIR/B/A-D %s > %s", current_dir, namelist);
system(command);
if ( (fin = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};

while ( fgets( current_file_name, 72, fin) !=NULL ) n=n+1;
rewind(fin);
printf("\007total %d files\n",n);
for (i=0;i<n;i++){
if ( fgets( current_file_name, 72, fin) ==NULL) exit(0);
printf("%s",current_file_name);
}
exit(0);
}
匿名用户
2011-04-01
展开全部
#include<string>
.....
string str;
char ch[50];
....

cin>>str;
for (long a=0;a<str.size();++a)
{
ch[a]=str[a];
}
freopen(ch,"r",stdin);

.....

这样加进去就可以了
另外,虚机团上产品团购,超级便宜
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式