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- ...
随机推荐
- php 序列化与反序列化
<?php //声明一个类 class dog { var $name; var $age; var $owner; function dog($in_name=",$in_owner ...
- python_程序模拟浏览器请求及会话保持
python下读取一个页面的数据可以通过urllib2轻松实现请求 import urllib2 print urllib2.urlopen('http://www.baidu.com').read( ...
- weblogic学习笔记:域创建+应用部署
参考地址:http://docs.oracle.com/cd/E13222_01/wls/docs92/index.html 文档基于版本:weblogic92 域(domain)是weblogic服 ...
- 每天一个linux命令:traceroute命令
通过traceroute我们可以知道信息从你的计算机到互联网另一端的主机是走的什么路径.当然每次数据包由某一同样的出发点(source)到达某一同样的目的地(destination)走的路径可能会不一 ...
- linux中安装typecho的pathinfo配置
最近,我安装typecho,安装完之后发现,只有首页能够访问,其他的页面报404错误 后来发现时nginx默认情况下不支持pathinfo模式,于是我查找一下资料.终于得到解决. 我的nginx.co ...
- CentOS7 防火墙配置(关闭)
CentOS7 的防火墙配置跟曾经版本号有非常大差别,经过大量尝试,最终找到解决这个问题的关键 CentOS7这个版本号的防火墙默认使用的是firewall.与之前的版本号使用iptables不一样. ...
- 自动批改android模拟器的imei的小程序 和 下载各个版本SDK Tools及ADT
ADT 22.6.0版本的下载路径是:http://dl.google.com/android/ADT-22.6.0.zip ADT22.6.1版本的下载路径是:http://dl.google.co ...
- Thinkphp5笔记五:配置data文件夹
如果你看项目下的各种文件,有种乱七八糟的感觉的话,你就可以进行以下配置. 配置data文件夹的,整理各种文件,让看起来舒服些. 一.设置runtime文件夹 index.php define('RUN ...
- Python学习之——编码方式
1.各种编码方式 ASCII:http://zh.wikipedia.org/zh-hans/ASCII Unicode:http://zh.wikipedia.org/zh-hans/Unicode ...
- DataList中动态显示DIV
<%# DataBinder.Eval(Container, "DataItem.ProductName").ToString() == "股票矩阵" ...