读取的代码方式如下:
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
}
以上演示了文本文件的读写 *** 作,供你参考.
在读写文件时,文件内部有一个"指针"会悄悄地变化(但你看不到),所以读一个数据后,再读可以得到下一个数据.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)