请教各位,如果我要对一个文件进行字符串替换,先从该文件读入字符串,替换以后再写入。现在我想知道是否可以将该文件的所有字符串一次读入一个字符串(char[])中(用CFile::Read读),如果可以,应该用多大的数组才能确保能容纳所有字符串?或者有其他一次读入所有字符串的办法?
如果不能一次读入,则是否要将该文件复制到一个中间变量或文件里再处理?是否有比较可行的办法。
谢谢!
如果不能一次读入,则是否要将该文件复制到一个中间变量或文件里再处理?是否有比较可行的办法。
谢谢!
解决方案 »
- 关于异步套接字WSAAsyncSelect返回10022错误
- 看看问题在哪呢?
- 用FindFirstFile()和FindNextFile()查找文件,如何知道找到的东西是个文件还是个文件夹?
- VS2005命名空间问题
- 为什么全文检索 不能使用?
- 请问高手:如果在一个应用程序的对话框中加一个按钮?
- windows 画图工具中工具条下方的区域如何实现?
- 如何设置CPropretySheet中的控件字体大小?
- 请问高手关于取桌面图标的坐标的问题
- spy++是怎样拦截指定窗口的消息的?
- 在开发activeX中,Add Method时出现对话框,上面写着:parsing error: Unexpected
- WTL的问题
char * pBuffer = new char [长度 + 1];
//buffer清零
//读入
if(!SourceFile.Open(strPath, CFile::modeRead)) return 0;
char *lpBuffer=new char[SourceFile.GetLength()];
SourceFile.Read(lpBuffer, SourceFile.GetLength());
CString str = lpBuffer;
str = str.Left(SourceFile.GetLength());
SourceFile.Close();
delete lpBuffer;
这种一次读入的方法会不会由于文件太大而出问题?to shawnwan() :能否说详细些,如何读入字符串的同时由写入字符串?替换的字符串不是一样长度的。
str值就是所有字符,str.replace()一下就行 然后重新打开文件 这次打开记得返回长度为0 重新写入就可以了