首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

啊眼看要到纳期了

2012-03-23 
高手救命啊,眼看要到纳期了头一次做c的程序,边学边做,眼瞅着时间就要到了,急啊现在遇到一个问题,式样书要

高手救命啊,眼看要到纳期了
头一次做c的程序,边学边做,眼瞅着时间就要到了,急啊
现在遇到一个问题,式样书要求:
在一个目录下有两种文件,扩展名不一样,一种扩展名是.fin,另一种是.dat,找出两种文件主文件名相同的文件,把格式是第二种的生成列表,
我不知道c里面有没有list,如果没有的话,放到数组里也行啊,请高手们帮帮忙啊,另外,这个是在linux下面开发,好像操作文件夹的函数跟windows下不一样。

我只剩下30分了,以后有分一定再补上

[解决办法]
为什么不到linux程序开发版去问呢?呵呵。

linux下文件夹操作相关函数是
opendir
readdir

例子如下,网上找的,没有测试过,应该可以:

#include <unistd.h>
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <sys/stat.h>

void showdir(char * dir,int depth){
DIR * dp;
struct dirent * entry;
struct stat statbuf;

if ((dp=opendir(dir))==NULL){
fprintf(stderr, "can 't open directory:%s\n ",dir);
return;
}
chdir(dir);
while ((entry=readdir(dp))!=NULL){
stat(entry -> d_name,&;amp;statbuf);
if (S_ISDIR(statbuf.st_mode)){
if (strcmp( ". ",entry -> d_name)==0||strcmp( ".. ",entry -> d_name)==0)
continue;
printf( "%*s%s/\n ",depth, " ",entry -> d_name);
showdir(entry -> d_name,depth 4);
}
else printf( "%*s%s/\n ",depth, ". ",entry -> d_name);
}
chdir( ".. ");
closedir(dp);
}

int main(int argc, char* argv[]){
if(argc < 2)
{
printf( "not enough params!\n ");
return 0;
}

printf( "show directory : \n ");
showdir(argv[1], 0);
printf( "done.\n ");
exit(0);
}

热点排行