读桥埋困取的代码方式如下:
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()函数:
可以用rmdir不过
限制是
文件夹必须是空的
如果文件仿颂悄夹非空
需要遍历递归调用remove和rmdir删除所有文件和子文樱笑件夹。
事备渣实上
系统命令的rm
-r
也是rmdir和remove
递归的。
//以下是c++方法#include <stdio.h>
#include <io.h>
#include <string.h>
#include <string>
#include <iostream>
using namespace std
#define WIDTH 300
#define H 40
int len = 0
string files[1000]
void getFiles(string path, int deepth)
{
long hFile = 0
struct _finddata_t fileinfo
string p
if((hFile = _findfirst(p.assign(path).append("\\*").c_str(),&fileinfo)) != -1)
{
do
友陆睁 {
if(fileinfo.attrib & _A_SUBDIR)
{
//想取子文件夹里好岁的内容,这里可以用以下代码,deepth控制深度
//getFiles(path + "/" + fileinfo.name, deepth + 1)
}
else
{
files[len] = fileinfo.name
++len
}
}while(_findnext(hFile, &fileinfo) == 0)
_findclose(hFile)
}
}
string path = "E:/"
void main()
{
int i, res
getFiles(path, 0)
for (i = 0 i 悉搭< len ++ i)
puts(files[i].c_str())
Sleep(800)
return
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)