读取的代码方式如下:
int main()
{
long file;
struct _finddata_t find;
_chdir("d:\\");
if((file=_findfirst("", &find))==-1L)
{
printf("空白!\n");
exit(0);
}
printf("%s\n", findname);
while(_findnext(file, &find)==0)
{
printf("%s\n", findname);
}
_findclose(file);
return 0;
}
用C语言读取目录中的文件名的方法:
1、如果是在window环境下,可以用一下方法:
使用stdlibh头文件声明的system()函数,调用系统命令dir,把c:目录下文件列表写入文件dirtxt中
2、使用direnth头文件中声明的opendir(),readdir()函数;
3、如果没有direnth,可以使用ioh头文件中声明的_findfirst(),_findnext()函数:
LZ知道CString类中有成员函数GetLength(),和ReverseFind ()以及Right()函数吧!
先调用GetLength得到总字符串的长度,再用ReverseFind函数得到\在字符串中的位置,然后用Right函数获取就行了,具体的实现LZ看看这几个函数的使用方法就知道了(参考MSDN)
void CCounterDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
UpdateData();
if(!m_fileName);//m_fileName为编辑控件关联的一个CString类型的变量
else
{
int i=m_fileNameReverseFind('\\');//对‘\’转义
int j=m_fileNameGetLength();
AfxMessageBox(m_fileNameRight(c-t-1));
}
}
不记得程序集里面有提供相关的方法,不过可以自己想一下。不知道写的对不对,只是参考使用,一般情况应该也是没有问题的,你参考有自己的想法可以改一下。
//获取文件夹路径string path = @"C:\Program Files\IIS";
//如果文件夹路径最后有反斜杠 需要处理
path = pathLastIndexOf(@"\") + 1 == pathLength pathSubstring(0, pathLength - 1) : path;
//可以考虑封装方法 最好进行一下异常处理 这里就不赘述
string result = pathSubstring(pathLastIndexOf(@"\") + 1);
希望帮到你哦。
以上就是关于C语言怎么读取某一文件夹下的所有文件夹和文件全部的内容,包括:C语言怎么读取某一文件夹下的所有文件夹和文件、根据文件的全路径获取文件简单名称,如:fileFullName="F:\a.txt" 则返回a.txt (C/C++ 实现) 要考虑文件、c#知道文件夹路径怎么得到文件夹名等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)