window下遍历并修改文件
今天需要写一个遍历文件夹下的所有文件,试了试以前的方法竟然报错了。重新改了一下。
- #include <iostream>
- #include <stdlib.h>
- #include <windows.h>
- #include <fstream>
- #include <iterator>
- #include <string>
- #include <time.h>
- #include <math.h>
- using namespace std;
- wchar_t* CharToWchar(const char* c)
- {
- wchar_t *m_wchar;
- int len = MultiByteToWideChar(CP_ACP, , c, strlen(c), NULL, );
- m_wchar = new wchar_t[len + ];
- //映射一个字符串到一个宽字符(unicode)的字符串
- MultiByteToWideChar(CP_ACP, , c, strlen(c), m_wchar, len);
- m_wchar[len] = '\0';
- return m_wchar;
- }
- char* WcharToChar(const wchar_t* wp)
- {
- char *m_char;
- //映射一个unicode字符串到一个多字节字符串
- int len = WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), NULL, , NULL, NULL);
- m_char = new char[len + ];
- WideCharToMultiByte(CP_ACP, , wp, wcslen(wp), m_char, len, NULL, NULL);
- m_char[len] = '\0';
- //printf("my char %s\n", m_char);
- return m_char;
- }
- wchar_t* StringToWchar(const string& s)
- {
- const char* p = s.c_str();
- return CharToWchar(p);
- }
- void operate(string name)
- {
- ifstream file(name);
- string tempStr;
- int i = ;
- while (file) {
- string line;
- getline(file, line);
- cout << line << endl;
- if (line == "")break;
- if (i == ) {
- tempStr = line;
- tempStr += "第一行加这个\n";
- }
- else {
- tempStr += line;
- tempStr += "其他行\n";
- }
- i++;
- }
- ofstream outfile(name, ios::out | ios::trunc);
- outfile << tempStr << endl;
- }
- int main()
- {
- int j = ;
- char* Path = "files/*.*";
- HANDLE hFile;
- LPCTSTR lp = Path;
- WIN32_FIND_DATA pNextInfo;
- hFile = FindFirstFile(lp, &pNextInfo);
- if (hFile == INVALID_HANDLE_VALUE) {
- cout << "failed" << endl;
- exit(-);//搜索失败
- }
- cout << "路径名:" << Path << endl;
- do {
- //必须加这句,不然会加载.和..的文件而加载不了图片,
- if (pNextInfo.cFileName[] == '.')continue;
- string name = pNextInfo.cFileName;
- cout << name << endl;
- operate(".\\files\\"+name);
- j++;
- } while (FindNextFile(hFile, &pNextInfo));
- system("pause");
- return ;
- }
其中 files 为 文件夹名称。
程序功能: 遍历files下的所有文件,并在每行的末尾添加数据,第一行与其他行添加的内容不同。
window下遍历并修改文件的更多相关文章
- Linux下遍历目录及文件,更改权限
Linux下遍历目录及文件,更改权限 引言: 我在Linux下搭建android时,将eclipse及sdk复制到/usr/下时,总会出现无法读,无法写写样的问题. 解决方案: 有两个方案: 一.将复 ...
- ref:ubuntu下如何批量修改文件后缀名
ref:https://blog.csdn.net/whuslei/article/details/6724900 ubuntu下如何批量修改文件后缀名 正确的方法是: 在命令行中输入 renam ...
- dos下遍历目录和文件的代码(主要利用for命令)
对指定路径指定文件进行遍历的程序,这里有多个批处理代码,但运行好像有些问题,大家可以根据需要选择 ===== 文件夹结构 ======================================= ...
- ubuntu下如何批量修改文件后缀名
正确的方法是: 在命令行中输入 rename 's/\.JPG/.jpg/' *.JPG [注意] 在单引号中的最后一个'/'符号不能少! 意思是:把当前文件夹下的所有 .JPG文件 替 ...
- linux下查看和修改文件时间
一.查看文件时间及相关命令 1.stat查看文件时间 [root@web10 ~]# stat install.log File: "install.log" Size: 3338 ...
- dos下遍历目录和文件的代码(主要利用for命令)(转)
===== 文件夹结构 ============================================= D:\test ---A Folder 1 |-----A file 1.txt | ...
- Windows 下命令行修改文件夹的控制权限 Cacls
设置用户访问权限:我们经常要修改目录和文件的访问权限,使用Cacls命令就很容易做到.下面要赋予本机用户testuser对d盘下 test目录及其所有子目录中的文件有完全控制权限.在命令提示符对话框中 ...
- (转)Linux 下 查看以及修改文件权限
场景:Linux环境下远程部署项目,发现因为文件权限问题,不能执行远端的可执行文件.问题还没解决,待议... 1 查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就 ...
- Linux 下 查看以及修改文件权限
查看权限 在终端输入: ls -l xxx.xxx (xxx.xxx是文件名) 那么就会出现相类似的信息,主要都是这些: -rw-rw-r-- 其中: 最前面那个 - 代表的是类型 中间那三个 rw- ...
随机推荐
- 第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解
第三百五十五节,Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy信号详解 信号一般使用信号分发器dispatcher.connect(),来设置信号,和信号触发函数,当捕获到信号时执行 ...
- Linux 下查看某个进程运行的堆栈信息
1. 根据进程名称查询进程ID ps -ef | grep processName 2. 将进程的堆栈信息写入log gstack processId > s.log 3. 查看log vim ...
- 转换基于Maven的Web应用程序支持Eclipse IDE
在上一节教程中,使用Maven创建了一个Web应用程序.这里有一个指南,告诉你如何转换Web应用程序到Eclipse IDE支持的形式. 注意,通过WTP工具Eclipse IDE支持Web应用程序, ...
- SecureCRT连接linux,vim颜色显示问题
为什么使用VIM?由于具有颜色显示的功能.而且还支持很多程序语法.VIM能够帮助你直接进行程序除错.可是在SecureCRT连接Linux后显示就是黑白,感觉非常不爽! ! 怎么办? vim编敲代码也 ...
- EF5+MVC4系列(11)在主视图中用Html.RenderPartial调用分部视图(ViewDate传值);在主视图中按钮用ajax调用子action并在子action中使用return PartialView返回分布视图(return view ,return PartialView区别)
一:主视图中使用Html.RenderPartial来调用子视图(注意,这里是直接调用子视图,而没有去调用子Action ) 在没有使用母版页的主视图中(也就是设置了layout为null的视图中), ...
- 浪漫程序员 HTML5爱心表白动画
我们程序员在追求爱情方面也是非常浪漫的,下面是一位同学利用自己所学的HTML5知识自制的HTML5爱心表白动画,画面非常温馨甜蜜,这样的创意很容易打动女孩,如果你是单身的程序员,也赶紧来制作自己的爱心 ...
- 面试的角度诠释Java工程师(二)
续言: 相信每一位简书的作者,都会有我这样的思考:怎么写好一篇文章?或者怎么写好一篇技术类的文章?我就先说说我的感悟吧,写文章其实和写程序是一样的.为什么我会说它们是一样的?简单思考一下...... ...
- 树莓派挂载ntfs优盘
步骤一:解压安装NTFS-3G,使用如下命令. sudo apt-get install ntfs-3g 步骤二:配置挂载NTFS格式的移动硬盘 1. 首先得到NTFS分区的信息 sudo f ...
- HttpURLConnection和HttpClient的区别2(转)
1.HttpClient比HttpURLConnection功能更强大,但是做java建议用前者,安卓建议用后者 2.这两者都支持HTTPS,streaming 上传与下载,配置超时时间,IPv6, ...
- spark 非常好的学习内容
http://homepage.cs.latrobe.edu.au/zhe/ZhenHeSparkRDDAPIExamples.html