logo
预览版
标准版
您当前访问的是 喵宅苑 MewoGarden × 技术宅II 预览版网页,若要正常使用功能请戳我前往标准版
帖子对应的标准版页面请点击帖子下方[→标准版]按钮
樱花流逝

废话不多说先上程序:

#include <stdio.h>#include <tchar.h>#include<io.h>#include<stdlib.h>#include *本站禁止HTML标签噢* #include *本站禁止HTML标签噢* using namespace std;int ayu = 0;int

【查看更多内容请登录哈】

樱花流逝

本帖最后由 樱花流逝 于 2015-8-30 11:51 编辑

【链接登录后可见】

先说一下,我的编译环境是 Dev-cpp + gcc 4.9.2,代码一共分为3个文件。

主体“main.cpp”:

看了你的代码后感觉获益匪浅,真的非常感谢。

张全蛋

【链接登录后可见】

嗯,发一下吧,谢谢了

我看到前面有人说调用系统API的,这里贴一个MSDN的代码示例吧,它就是调用了系统API遍历了一个目录下的全部文件和文件夹,但不包括子目录里面的内容,【链接登录后可见】(v=vs.85).aspx 。

张全蛋

【链接登录后可见】

嗯多谢了。

我把change_path()改成了这样

int change_path(string & path, string new_path){

那个代码字体就在回复的一个按钮上能调出来。

425598

张全蛋

【链接登录后可见】

嗯,发一下吧,谢谢了

先说一下,我的编译环境是 Dev-cpp + gcc 4.9.2,代码一共分为3个文件。

主体“main.cpp”:

[mw_shl_code=cpp,true]

/* main.cpp */

#include "find_file.h"

#

【查看更多内容请登录哈】

樱花流逝

本帖最后由 樱花流逝 于 2015-8-29 21:05 编辑

【链接登录后可见】

我这边写了个测试代码,也是递归遍历的,要不要先发给你看下?

嗯,发一下吧,谢谢了

张全蛋

【链接登录后可见】

看了4楼的建议后自己又改了一下,发现按照之前那样子在那个位置改s1的话,s1的值会一直继承下去导致所有的 ...

我这边写了个测试代码,也是递归遍历的,要不要先发给你看下?

樱花流逝

本帖最后由 樱花流逝 于 2015-8-29 12:57 编辑

看了4楼的建议后自己又改了一下,发现按照之前那样子在那个位置改s1的话,s1的值会一直继承下去导致所有的文件名都连一起。所以就改成了这个样子:#include <stdio.h>#include <tchar.h>#include<

【查看更多内容请登录哈】

樱花流逝

【链接登录后可见】

你这个代码里有很多问题,比如 change_path 来改变下一个遍历的路径,但没有用引用传参,也就是说,你调用 ...

嗯多谢了。

我把change_path()改成了这样

int change_path(string & path, string new_path){

【查看更多内容请登录哈】

张全蛋

【链接登录后可见】

初学还没接触过win api

如果用win api 的话该怎么写?

今晚我要是有空再来帮你改改代码吧。

张全蛋

【链接登录后可见】

初学还没接触过win api

如果用win api 的话该怎么写?

没有必要,因为一部分标准库函数在底层实现就是调用了系统的API。

樱花流逝

【链接登录后可见】

为何不用 Win API

初学还没接触过win api@@10!!

如果用win api 的话该怎么写?

张全蛋

你这个代码里有很多问题,比如 change_path 来改变下一个遍历的路径,但没有用引用传参,也就是说,你调用了 change_path 之后, s1 里面的值根本没变化(楼主可以自己写段小代码测试下),建议改为如下:

[mw_shl_code=cpp,true]int change_path(s

【查看更多内容请登录哈】

echaos

为何不用 Win API#pm

樱花流逝

那个,文件的标题是当初打错了后面也就懒得改了,不要在意@@26!!