C++ 怎么修改文件夹字体部分文件字体大小

C++文件操作如何只修改文件的部分内容
[问题点数:40分,结帖人LonelyCoyote]
C++文件操作如何只修改文件的部分内容
[问题点数:40分,结帖人LonelyCoyote]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年9月 C/C++大版内专家分月排行榜第二2011年4月 C/C++大版内专家分月排行榜第二2010年11月 C/C++大版内专家分月排行榜第二
2011年6月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
2013年6月 Linux/Unix社区大版内专家分月排行榜第二2013年5月 Linux/Unix社区大版内专家分月排行榜第二2013年3月 Linux/Unix社区大版内专家分月排行榜第二2013年1月 Linux/Unix社区大版内专家分月排行榜第二2012年12月 Linux/Unix社区大版内专家分月排行榜第二2012年8月 Linux/Unix社区大版内专家分月排行榜第二2011年12月 Linux/Unix社区大版内专家分月排行榜第二2011年10月 C/C++大版内专家分月排行榜第二2011年10月 Linux/Unix社区大版内专家分月排行榜第二
2012年6月 C/C++大版内专家分月排行榜第三2012年6月 PHP大版内专家分月排行榜第三2012年5月 C/C++大版内专家分月排行榜第三2012年3月 Linux/Unix社区大版内专家分月排行榜第三2012年2月 Linux/Unix社区大版内专家分月排行榜第三2011年11月 C/C++大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。用C++怎样修改文件中的一个字符--期待大虾帮忙
[问题点数:40分,结帖人pcliuguangtao]
用C++怎样修改文件中的一个字符--期待大虾帮忙
[问题点数:40分,结帖人pcliuguangtao]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2011年5月 C/C++大版内专家分月排行榜第二2010年9月 C/C++大版内专家分月排行榜第二
2009年11月 C/C++大版内专家分月排行榜第三
2007年7月 C/C++大版内专家分月排行榜第一2007年6月 C/C++大版内专家分月排行榜第一2007年5月 C/C++大版内专家分月排行榜第一2007年4月 C/C++大版内专家分月排行榜第一2007年3月 C/C++大版内专家分月排行榜第一2007年2月 C/C++大版内专家分月排行榜第一2007年1月 C/C++大版内专家分月排行榜第一2006年12月 C/C++大版内专家分月排行榜第一2006年11月 C/C++大版内专家分月排行榜第一2006年9月 C/C++大版内专家分月排行榜第一2006年8月 C/C++大版内专家分月排行榜第一2006年7月 C/C++大版内专家分月排行榜第一2006年6月 C/C++大版内专家分月排行榜第一2006年5月 C/C++大版内专家分月排行榜第一2006年4月 C/C++大版内专家分月排行榜第一2006年3月 C/C++大版内专家分月排行榜第一2005年8月 C/C++大版内专家分月排行榜第一
2007年8月 C/C++大版内专家分月排行榜第二2006年10月 C/C++大版内专家分月排行榜第二
2010年6月 其他数据库开发大版内专家分月排行榜第二2010年6月 Oracle大版内专家分月排行榜第二2010年5月 其他数据库开发大版内专家分月排行榜第二
2011年1月 其他数据库开发大版内专家分月排行榜第三2010年12月 其他数据库开发大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
如果文件较大,几百兆或者上G,但是只需要替换/修改其中的某一行,如何才能速度更快?能不能不全读出,只读取需要的数据,然后修改保存之?
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
丰衣足食, 积分 874, 距离下一级还需 126 积分
论坛徽章:0
mmap如果内存足够的话.
丰衣足食, 积分 826, 距离下一级还需 174 积分
论坛徽章:1
不用查找么?
富足长乐, 积分 5263, 距离下一级还需 2737 积分
论坛徽章:0
donglongchao
& & 没有办法,设计的时候就不要设计成这样。 现在打多数文件系统,都没有很好的支持 “插人,修改一行“ 这种语意。
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
mmap如果内存足够的话.
samlumengjun 发表于
mmap会将文件全部读入内存吧。有没有方法只读取修改需要的数据呢?
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
回复&&donglongchao
& & 没有办法,设计的时候就不要设计成这样。 现在打多数文件系统,都没有很好的 ...
peidright 发表于
为什么没有设计支持这种操作呢?恩,需要特殊的文件系统吧?
丰衣足食, 积分 874, 距离下一级还需 126 积分
论坛徽章:0
donglongchao
& & 找到你要的修改的文件偏移量,在mmap的时候也作相应偏移.
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
比如只修改第三行,可以读取前三行,就可以查找到了吧。
富足长乐, 积分 5263, 距离下一级还需 2737 积分
论坛徽章:0
donglongchao
& & 本来那一行的长度是 10, 但是你要插入的长度,或者大于10,或者小于10, 那你怎么办?
如果你的应用那层没设计好,就只能这样 ”读取后面的所有数据, 再重新写入磁盘“
白手起家, 积分 36, 距离下一级还需 164 积分
论坛徽章:0
samlumengjun
我的意思是能不能不要一次性全部读出来到内存里。6000人阅读
C/C++(20)
/*实现替换文件中指定的内容
----Created by cryking----
----------------*/
#include&iostream&
#include&fstream&
#include&string.h&
#include&stdlib.h&
char *strstr_rep(char *source,char *old,char *ne)//字符替换
char *org=
char temp[256];
int old_length=strlen(old);//获得将被替换的字符串的大小
int i,j,k,location=-1;
for(i=0;source[i]&&(location==-1);++i)//location查找将被替换的字符串的位置
for(j=i,k=0;source[j]==old[k];j++,k++)
if(!old[k+1])
location=i;
if(location!=-1)//开始替换
for(j=0;j&j++)//先把被替换的字符串的前一部分COPY到temp
temp[j]=source[j];
for(i=0;ne[i];i++,j++)//再把替换的新字符串COPY到temp
temp[j]=ne[i];
for(k=location+old_source[k];k++,j++)//把剩下的内容COPY到temp
temp[j]=source[k];
temp[j]=NULL;
for(i=0;source[i]=temp[i];i++); //把临时字符串temp复制给source
int main()
fstream outfile(&test.txt&,ios::out|ios::in);
char buffer[255];
int i=0,k=0;
if(!outfile){
cout&&&不能打开目的文件:test.txt&&&'\n';
outfile.unsetf(ios::skipws);
while (outfile&&ch) {//将文件全部内容读出到buffer
buffer[i]=
strstr_rep(buffer,&2222&,&8888&);//将&2000&替换为8888&
outfile.close();
ofstream infile(&test.txt&);
while(k!=i){infile&&buffer[k];k++;}//将buffer全部写入到文件
outfile.close();
很久没敲代码了,唉。。。手生了!!!
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:248781次
积分:4043
积分:4043
排名:第5353名
原创:155篇
评论:36条
文章:26篇
阅读:44558
(2)(2)(2)(1)(2)(7)(1)(1)(3)(2)(4)(4)(6)(1)(2)(2)(5)(15)(7)(10)(4)(1)(5)(11)(2)(4)(5)(13)(25)(5)(1)(1)(5)(3)温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
一个刚懂编程的毛孩子的成长史~
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
#include &iostream&#include &string&#include &Windows.h&#include &strsafe.h&#include &list&int main(){ WIN32_FIND_DATA
& &FileD HANDLE
& &hS DWORD
& &dwA TCHAR & & & & & & & szPath[]=TEXT("E:\\Unikorn_C++\\*.*");//指定要修改文件属性的文件夹// TCHAR
& &szDirPath[]=TEXT("E:\\Unikorn_C++\\ReadOnly_Console\\ReadOnly_Console"); TCHAR & & & & & & & szDirPathNew[]=TEXT("E:\\Unikorn_C++\\ReadOnly_Console\\CopyFile");////拷贝到文件到新的文件夹的路径 TCHAR
& &szNewPath[MAX_PATH]; BOOL
& &isFinished = FALSE; typedef list&string& &FILE_ATTRIBUTE_LIST; FILE_ATTRIBUTE_LIST:: FILE_ATTRIBUTE_LIST fileA long intTest1 = CreateDirectory(szDirPathNew,NULL);//返回1表示创建成功???(非零表示成功???),0表示创建失败 if (intTest1) {
printf("Create New File Successful! \n"); }// hSearch = FindFirstFile(TEXT("*.*"),&FileData);//默认当前工作目录下文件// hSearch = FindFirstFile(szDirPath,&FileData);//指定要遍历文件的目录 hSearch = FindFirstFile(szPath,&FileData);////指定要修改文件属性的文件夹 if (hSearch == INVALID_HANDLE_VALUE) {
printf("No text file found \n");
return 0; } DWORD dwLastError = GetLastError(); while(!isFinished) {
//测试字符串的截取
string stringTest1="E:\\Unikorn_C++\\TestRead\\*.cfg";
size_t found=stringTest1.find_last_of("\\");
stringTest1=stringTest1.substr(0,found);////E:\\Unikorn_C++\\TestRead
//指定要读取文件的属性
string strPath="E:\\Unikorn_C++\\";
strPath = strPath+FileData.cFileN
dwAttrs = GetFileAttributes(strPath.c_str()); // dwAttrs = GetFileAttributes(FileData.cFileName);////默认当前工作目录下文件//
dwAttrs |= FILE_ATTRIBUTE_READONLY;//
dwAttrs &= 0x3E;//
dwAttrs = dwAttrs & FILE_ATTRIBUTE_READONLY;//空32,只读33,隐藏34,只读隐藏35//FILE_ATTRIBUTE_READONLY=1//FILE_ATTRIBUTE_NORMAL=128
if (dwAttrs & FILE_ATTRIBUTE_READONLY &&& (dwAttrs&34))
fileAttribute.push_back(strPath);//把属性改变的文件的名字存入容器内
dwAttrs &= 0x3E;//与过之后其值减一 //
SetFileAttributes(FileData.cFileName,dwAttrs);////默认当前工作目录下文件
SetFileAttributes(strPath.c_str(),dwAttrs);
//如执行成功,返回一个搜索句柄hSearch。如果出错,返回一个INVALID_HANDLE_VALUE常数,一旦不再需要,应该用FindClose函数关闭这个句柄
//如果调用成功返回一个非0值,调用失败 返回为0 可调用GetLastError来获取错误信息
//非零表示成功,零表示失败。如不再有与指定条件相符的文件,会将GetLastError设置成ERROR_NO_MORE_FILES&
//DWORD dwTest3=FindNextFile(hSearch,&FileData);
//调用成功返回一个非0值,而!(非)非0值即0,如FindNextFile函数执行成功!FindNextFile(hSearch,&FileData)=0
if (!FindNextFile(hSearch,&FileData))
DWORD dwTest1= GetLastError();
DWORD dwTest2= ERROR_NO_MORE_FILES;
if (GetLastError() == ERROR_NO_MORE_FILES)
printf("Copy File Is Over!!!\n");
isFinished = TRUE;
} }////恢复容器内存储的文件的属性 for (iter=fileAttribute.begin();iter!=fileAttribute.end();iter++) {
string & strT
SetFileAttributes(strTemp.c_str(),FILE_ATTRIBUTE_READONLY); } FindClose(hSearch); cout&&"Hello HappyS!"&& return 0;}//次循环是用来把有只读属性的文件拷贝出来并且把只读属性去掉,原文件的只读属性不变//while(!isFinished)//{// StringCchCopy(szNewPath,MAX_PATH,szDirPath);// StringCchCat(szNewPath,MAX_PATH,FileData.cFileName);// if (CopyFile(FileData.cFileName,szNewPath,FALSE))// { //
int intTest1=INVALID_FILE_ATTRIBUTES;//
dwAttrs = GetFileAttributes(FileData.cFileName);//
if (dwAttrs == INVALID_FILE_ATTRIBUTES)//
return 0;////
int intTest2=FILE_ATTRIBUTE_READONLY;//
if ((dwAttrs & FILE_ATTRIBUTE_READONLY))//
dwAttrs &= 0x3E;//
SetFileAttributes(szNewPath , dwAttrs);//
printf("Copy Failed!\n");// }// if (!FindNextFile(hSearch, &FileData))// {//
if (GetLastError() == ERROR_NO_MORE_FILES)//
printf("Copy Is Over!\n");//
isFinished = TRUE;//
printf("Could Not Find Next File!\n");// }////}
阅读(2976)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'C&C++修改文件的只读属性',
blogAbstract:'&《一》这次贴出来的源码主要功能是:1,修改指定文件夹内文件的属性,本例子是把指定文件夹里的文件的只读属性去掉。2,在程序运行结束还可以回复那些你修改只读属性的文件。',
blogTag:'c修改文件属性,c++文件属性,修改文件属性,修改只读属性',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'一个刚懂编程的毛孩子的成长史~',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}

我要回帖

更多关于 怎么修改文件夹字体 的文章

 

随机推荐