C语言怎么读取某一文件夹下的所有文件夹和文件?

C语言怎么读取某一文件夹下的所有文件夹和文件?,第1张

读取的代码方式如下:

intmain()

{

longfile

struct_finddata_tfind

_chdir("d:\\")

if((file=_findfirst("*.*",&find))==-1L)

{

printf("空白!\n")

exit(0)

}

printf("%s\n",find.name)

while(_findnext(file,&find)==0)

{

printf("%s\n",find.name)

}

_findclose(file)

return0

}

用C语言读取目录中的文件名的方法:

1、如果是在window环境下,可以用一下方法:

使用stdlib.h头文件声明的system()函数,调用系统命令dir,把c:目录下文件列表写入文件dir.txt中

2、使用dirent.h头文件中声明的opendir(),readdir()函数;

3、如果没有dirent.h,可以使用io.h头文件中声明的_findfirst(),_findnext()函数:

用文件路径 *** 作函数找到源代码所在的文件夹。使用文件 *** 作函数fopen打开源文件即可。

路径 *** 作函数 chdir。

chdir函数是C语言中的一个系统调用函数(同cd)功 能:更改当前工作目录。参 数:Path 必选。Path 可能包含驱动器。如果未指定驱动器,则当前驱动器上的默认目录或文件夹。返回值:成功返回0 ,失败返回-1

文件 *** 作函数fopen。

函数原型:FILE * fopen(const char * path,const char * mode)返回值:文件顺利打开后,指向该流的文件指针就会被返回。如果文件打开失败则返回NULL,并把错误代码存在errno中。一般而言,打开文件后会做一些文件读取或写入的动作,若打开文件失败,接下来的读写动作也无法顺利进行,所以一般在fopen()后作错误判断及处理。

像这种情况,有多种方法,最简单的方法是:

1.用"记事本"创建a.txt文件,保存在一个文件夹中,设保存在d:\之下

2.编写程序,并运行

#include <stdio.h>

int main( )

{

int a[10][4] /*假定不超过10行,每行一定有4个元素*/

int i,j

FILE *fp

/*打开文件*/

fp=fopen("d:\\a.txt","r")  /*假设a.txt在d盘根目录下*/

if(!fp)exit(0)

for(j=0j<4j++) /*假定有j行*/

for(i=0i<4i++)

fscanf(fp,"%d",&a[j][i])  /*读一个数据*/

/* 关闭文件 */

fclose(fp)

/*显示运行结果*/

for(j=0j<4j++) /*假定有j行*/

{for(i=0i<4i++)

printf("%4d",a[j][i])

printf("\n")

}

return 0

}

以上演示了文本文件的读写 *** 作,供你参考.

在读写文件时,文件内部有一个"指针"会悄悄地变化(但你看不到),所以读一个数据后,再读可以得到下一个数据.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12088816.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存