找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 430|回复: 6

[求助]:关于文件的读取

[复制链接]
发表于 2003-10-29 11:30:22 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
现在我想在文件操作时,在某一行的前面插入一行,不知该如何才能做到?请各位帮忙!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
发表于 2003-10-29 11:35:42 | 显示全部楼层
将某行前的内容写入新文件,加入新行,加入某行及其后的内容。
将原文件关闭,改后缀为BAK。
将新文件改名为原文件名。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-29 17:25:02 | 显示全部楼层
需要编程操作
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-10-29 17:28:34 | 显示全部楼层
这里有了一个读取文件到字符串数组的  然后只要对数组操作就可以了
只是把字符数组保存到文件中去的
bool oxaReadTextFile(CString sFile,  CStringArray &saFileText ,bool bRemove)
待写


  1. //////////////////////////////////////////////////////////////////////////////////
  2. //#  DOC.BEGIN
  3. //#  函数名称: oxaReadTextFile
  4. //#  函数编号: OXA
  5. //#  函数声明:
  6. //#  输入参数: CString sFile     //文件名
  7. //                                bool    bRemove   []=false
  8. //#  输出参数: saFileText  CStringArray []   //获取行字符串的字符数组
  9. //#  返回值:   bool  rt
  10. //#  函数分类:
  11. //#  函数功能:读取文本文件字符
  12. //#  注意事项:  
  13. //#  涉及的全局变量:
  14. //#  调用的OXARX函数:
  15. //#  函数算法:  
  16. //#  ACAD版本:R14  R15  R16
  17. //#  配合函数:
  18. //#  类似函数:
  19. //#  替换函数:
  20. //#  现存缺陷:
  21. //#  示例程序:
  22. //#  测试要求:
  23. //#  历史记录: 2003年9月26日 , zjw ,编制
  24. //  
  25. //#  DOC.END
  26. bool oxaReadTextFile(CString sFile,  CStringArray &saFileText ,bool bRemove)
  27. {
  28.         CString sText = _T("");
  29.         CStdioFile file;
  30.         CFileFind findfile;
  31.         if (!findfile.FindFile(sFile))return FALSE;
  32.        
  33.         if(file.Open(sFile,CFile::modeRead))
  34.         {
  35.                 BOOL bSuccess = TRUE;
  36.                 if (bRemove)
  37.                 {
  38.                         saFileText.RemoveAll();
  39.                 }
  40.                 while(bSuccess)
  41.                 {
  42.                         bSuccess = file.ReadString(sText);
  43.                         if(bSuccess)
  44.                         {
  45.                                 saFileText.Add(sText);                       
  46.                         }
  47.                 }
  48.                 file.Close();
  49.         }
  50.         return TRUE;
  51. }
  52. //
复制代码
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-10-30 14:46:44 | 显示全部楼层
请快点写吧!!!多谢了
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

发表于 2003-11-4 23:21:17 | 显示全部楼层
saFileText.IsertAt( iCount , str);
/////
bool oxaWriteTextFile(CString sFile,  CStringArray &saFileText ,bool bRemove=false);
bool oxaWriteTextFile(CString sFile,  CStringArray &saFileText ,bool bRemove)
{
        CStdioFile file;
       
        if(file.Open(sFile,CFile::modeNoTruncate|CFile::modeCreate|CFile::modeWrite)
                )
    {
                int iLine=saFileText.GetSize();
                for(int i=0;i<iLine;i++)
                {
                        file.WriteString(saFileText+"\n");  // 逐行写入数据
                }
                file.Close();
                if (bRemove)
                {
                        saFileText.RemoveAll();  // 清空数组
                }
                return TRUE;
    }
       
    return false;
}
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2003-11-5 08:23:19 | 显示全部楼层
现有
DK,1595730,20,30
DK,1596000,20,30
DK,1598650,20,30
DK,1598697.22,20,30
DK,1598715.98,20,30
DK,1598750,20,30
DK,1598797.21,20,30
DK,1598897.2,20,30
DK,1598997.19,20,30
DK,1599097.18,20,30
DK,1599166.7,20,30
DK,1599197.18,20,30
DK,1599297.18,20,30
DK,1599497.18,20,30
DK,1600206.3,20,30
DK,1600275.5,20,30
DK,1600296.8,20,30
DK,1600396.38,20,30
DK,1600496.37,20,30
DK,1600596.37,20,30
DK,1600696.36,20,30
DK,1600796.36,20,30
DK,1600896.15,20,30
DK,1600996.35,20,30
DK,1601196.35,20,30
DK,1601200,20,30
DK,1601200,20,30
现在希望在大于1601000的行前追加一行
该如何操作?请赐教
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-9-21 08:04 , Processed in 0.312516 second(s), 42 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表