使用CStdioFile对象hfile读取一行,怎么删除改行或者替换改行里面的一段字符串???
解决方案 »
- 关于MFC响应消息的问题
- 右键弹出菜单的问题
- 文件写入
- com和com+的学习方向??一定要先com再学com+吗?
- 函数调用问题
- 我怎么也分不清一个控件的notification code和identifier,高手给讲讲他们的区别吧
- 菜鸟问题:关于ActiveX控件 属性的保存问题
- 请问:有谁知道msn和qq的http协议直接连接到服务器的程序如何实现,难道服务端的程序还要监控80端口的数据?
- 更改窗口(系统菜单)图标
- vs2008中字符串加密
- 程序用CStdioFile 实现从文件里把数据读到combo box里,可是为什么不是逐行读,而是隔行读?请高手支招,小妹谢了
- 请问一个vc++6.0编译的问题
替换一样,找到该行,用CString的Replace,然后写回文件
判断是否存在哪个文件然后删除,然后建立怎么判断是否存在哪个文件?用下面的方法吗?
if( !hfile.Open(lpFileName, CFile::modeRead) )
{
AfxMessageBox("can not open file!");
return;
}
然后用Remove方法移除文件?
创建文件呢?用哪个阿?
file.Open("abc.txt",CFile::modeWrite|CFile::modeCreate,NULL);
CFileFind find;
if (!find.FindFile("Yourfile.exe"))
// 不存在
find.Close();
内容为
00 11
key
01 22
key
02 33
现在要删除带key 关键字的行 CStringArray strarray;
CStdioFile file;
if( !file.Open("c:\\1.txt", CFile::modeRead) )
{
AfxMessageBox("can not open file!");
return;
}
CString strLine;
while(file.ReadString(strLine))
{
strarray.Add(strLine);
}
file.Close();
CString str;
int nCount=strarray.GetSize();
for(int i=0; i<nCount; i++)
{
str = strarray[i];
if( str.Find("key") != -1)
{
strarray.RemoveAt(i);
nCount--;
i--;
}
}
if( !file.Open("c:\\1.txt", CFile::modeCreate|CFile::modeWrite) )
{
AfxMessageBox("can not open file!");
return;
}
for(i=0; i<strarray.GetSize(); i++)
{
str = "";
str = strarray[i] + "\n";
file.WriteString(str);
}
file.Close();