今天需要写一个遍历文件夹下的所有文件,试了试以前的方法竟然报错了。重新改了一下。

  1. #include <iostream>
  2. #include <stdlib.h>
  3. #include <windows.h>
  4. #include <fstream>
  5. #include <iterator>
  6. #include <string>
  7. #include <time.h>
  8. #include <math.h>
  9. using namespace std;
  10.  
  11. wchar_t* CharToWchar(const char* c)
  12. {
  13. wchar_t *m_wchar;
  14. int len = MultiByteToWideChar(CP_ACP, , c, strlen(c), NULL, );
  15. m_wchar = new wchar_t[len + ];
  16. //映射一个字符串到一个宽字符(unicode)的字符串
  17. MultiByteToWideChar(CP_ACP, , c, strlen(c), m_wchar, len);
  18. m_wchar[len] = '\0';
  19. return m_wchar;
  20. }
  21. char* WcharToChar(const wchar_t* wp)
  22. {
  23. char *m_char;
  24. //映射一个unicode字符串到一个多字节字符串
  25. int len = WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), NULL, , NULL, NULL);
  26. m_char = new char[len + ];
  27. WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), m_char, len, NULL, NULL);
  28. m_char[len] = '\0';
  29. //printf("my char %s\n", m_char);
  30. return m_char;
  31. }
  32.  
  33. wchar_t* StringToWchar(const string& s)
  34. {
  35. const char* p = s.c_str();
  36. return CharToWchar(p);
  37. }
  38.  
  39. void operate(string name)
  40. {
  41.  
  42. ifstream file(name);
  43. string tempStr;
  44. int i = ;
  45.  
  46. while (file) {
  47. string line;
  48. getline(file, line);
  49. cout << line << endl;
  50. if (line == "")break;
  51. if (i == ) {
  52. tempStr = line;
  53. tempStr += "第一行加这个\n";
  54. }
  55. else {
  56. tempStr += line;
  57. tempStr += "其他行\n";
  58. }
  59. i++;
  60. }
  61. ofstream outfile(name, ios::out | ios::trunc);
  62. outfile << tempStr << endl;
  63. }
  64.  
  65. int main()
  66. {
  67. int j = ;
  68. char* Path = "files/*.*";
  69. HANDLE hFile;
  70. LPCTSTR lp = Path;
  71. WIN32_FIND_DATA pNextInfo;
  72. hFile = FindFirstFile(lp, &pNextInfo);
  73. if (hFile == INVALID_HANDLE_VALUE) {
  74. cout << "failed" << endl;
  75. exit(-);//搜索失败
  76. }
  77. cout << "路径名:" << Path << endl;
  78.  
  79. do {
  80. //必须加这句,不然会加载.和..的文件而加载不了图片,
  81. if (pNextInfo.cFileName[] == '.')continue;
  82. string name = pNextInfo.cFileName;
  83. cout << name << endl;
  84. operate(".\\files\\"+name);
  85. j++;
  86. } while (FindNextFile(hFile, &pNextInfo));
  87. system("pause");
  88. return ;
  89.  
  90. }

其中 files 为 文件夹名称。

程序功能: 遍历files下的所有文件,并在每行的末尾添加数据,第一行与其他行添加的内容不同。

window下遍历并修改文件的更多相关文章

  1. Linux下遍历目录及文件,更改权限

    Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...

  2. ref:ubuntu下如何批量修改文件后缀名

    ref:https://blog.csdn.net/whuslei/article/details/6724900 ubuntu下如何批量修改文件后缀名 正确的方法是: 在命令行中输入   renam ...

  3. dos下遍历目录和文件的代码(主要利用for命令)

    对指定路径指定文件进行遍历的程序,这里有多个批处理代码,但运行好像有些问题,大家可以根据需要选择 ===== 文件夹结构 ======================================= ...

  4. ubuntu下如何批量修改文件后缀名

    正确的方法是: 在命令行中输入   rename   's/\.JPG/.jpg/'    *.JPG [注意] 在单引号中的最后一个'/'符号不能少! 意思是:把当前文件夹下的所有 .JPG文件 替 ...

  5. linux下查看和修改文件时间

    一.查看文件时间及相关命令 1.stat查看文件时间 [root@web10 ~]# stat install.log File: "install.log" Size: 3338 ...

  6. dos下遍历目录和文件的代码(主要利用for命令)(转)

    ===== 文件夹结构 ============================================= D:\test ---A Folder 1 |-----A file 1.txt | ...

  7. Windows 下命令行修改文件夹的控制权限 Cacls

    设置用户访问权限:我们经常要修改目录和文件的访问权限,使用Cacls命令就很容易做到.下面要赋予本机用户testuser对d盘下 test目录及其所有子目录中的文件有完全控制权限.在命令提示符对话框中 ...

  8. (转)Linux 下 查看以及修改文件权限

    场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...

  9. Linux 下 查看以及修改文件权限

    查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...

随机推荐

  1. 第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解

    第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行 ...

  2. Linux 下查看某个进程运行的堆栈信息

    1. 根据进程名称查询进程ID ps -ef | grep processName 2. 将进程的堆栈信息写入log gstack processId > s.log 3. 查看log vim ...

  3. 转换基于Maven的Web应用程序支持Eclipse IDE

    在上一节教程中,使用Maven创建了一个Web应用程序.这里有一个指南,告诉你如何转换Web应用程序到Eclipse IDE支持的形式. 注意,通过WTP工具Eclipse IDE支持Web应用程序, ...

  4. SecureCRT连接linux,vim颜色显示问题

    为什么使用VIM?由于具有颜色显示的功能.而且还支持很多程序语法.VIM能够帮助你直接进行程序除错.可是在SecureCRT连接Linux后显示就是黑白,感觉非常不爽! ! 怎么办? vim编敲代码也 ...

  5. EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)

    一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中), ...

  6. 浪漫程序员 HTML5爱心表白动画

    我们程序员在追求爱情方面也是非常浪漫的,下面是一位同学利用自己所学的HTML5知识自制的HTML5爱心表白动画,画面非常温馨甜蜜,这样的创意很容易打动女孩,如果你是单身的程序员,也赶紧来制作自己的爱心 ...

  7. 面试的角度诠释Java工程师(二)

    续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的.为什么我会说它们是一样的?简单思考一下...... ...

  8. 树莓派挂载ntfs优盘

    步骤一:解压安装NTFS-3G,使用如下命令.    sudo apt-get install ntfs-3g 步骤二:配置挂载NTFS格式的移动硬盘 1. 首先得到NTFS分区的信息  sudo f ...

  9. HttpURLConnection和HttpClient的区别2(转)

    1.HttpClient比HttpURLConnection功能更强大,但是做java建议用前者,安卓建议用后者 2.这两者都支持HTTPS,streaming 上传与下载,配置超时时间,IPv6,  ...

  10. spark 非常好的学习内容

    http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html