找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 236|回复: 0

ObjectARX中读写txt文件的一个类实例

[复制链接]

1

主题

0

回帖

35

积分

管理员

积分
35
发表于 2024-3-16 09:51:13 | 显示全部楼层 |阅读模式
  1. //#include "fileSimpleClass.h"
  2. #pragma once
  3. #include "stdafx.h"
  4. //
  5. #include "Convert.h"
  6. #ifndef 采用fileSimpleClass采用H采用
  7. #define 采用fileSimpleClass采用H采用
  8. class fileSimpleClass
  9. {
  10. public:
  11.         Convert cvt;
  12.      
  13.          //打印函数
  14.         void pfvalue采用default(const ACHAR* filepath);
  15.         //打印文件内容2 函数
  16.         void pfvalue2(const ACHAR* filepath);
  17.         //写入文件内容到txt文件中
  18.         void pfvalueWriteLine(char* line);
  19. };
  20. //-----只引用一次头文件才可以把定义类和实现类功能放在一个文件中
  21. //类成员实现
  22. //-----------------------------
  23. //打印文件内容1  C文件操作函数   OK (和读取的文件内容一样)
  24. void fileSimpleClass::pfvalue采用default(const ACHAR* filepath)
  25. {
  26.           acutPrintf(采用T("\n-----下面是c文件操作函数打开的内容-----\n"));          
  27.           acutPrintf(filepath);acutPrintf(采用T("\n"));
  28.       FILE *fp;
  29.           int linesize=4000;
  30.           char *line;line=new char[linesize];
  31.           const char* path=cvt.ConvertAcharPtrToCharPtr(filepath);
  32.           ACHAR* wtmp=cvt.ConvertCharPtrToAcharPtr(path);          
  33.           acutPrintf(wtmp);acutPrintf(采用T("\n"));
  34.           if((fp=fopen(path,"r"))==NULL)
  35.           {
  36.                   acutPrintf(采用T("\nfile cannot be opened\n"));                  
  37.           }          
  38.           else
  39.           {
  40.                   const ACHAR* tmp;
  41.                   while(!feof(fp))
  42.                   {
  43.                           if(fgets(line,linesize,fp)!=NULL)
  44.                           {
  45.                                   tmp=cvt.ConvertCharPtrToAcharPtr(line);
  46.                                   acutPrintf(tmp);
  47.                                   pfvalueWriteLine(line);
  48.                           }
  49.                   }
  50.                   fclose(fp);
  51.           }
  52. }
  53. //打印文件内容2  ifstream类      OK (空行自动去掉)
  54. void fileSimpleClass::pfvalue2(const ACHAR* filepath)
  55. {       
  56.          //--file2 open
  57.          //filepath="d:\\test.txt";
  58.         acutPrintf(ACRX采用T("\n"));
  59.         acutPrintf(filepath);
  60.         ifstream r(filepath,ifstream.in);
  61.          if(!r)
  62.          {
  63.                  acutPrintf(ACRX采用T("打开文件出错!"));
  64.          }
  65.          else
  66.          {
  67.                  const ACHAR* tmpAchar;
  68.                  //char line[4000];   //[100]2000
  69.                  int linesize=4000;
  70.                  char* line;line=new char[linesize];
  71.                  while(r>>line)
  72.                  {         
  73.                           tmpAchar=cvt.ConvertCharPtrToAcharPtr(line);
  74.                           acutPrintf(tmpAchar);                          
  75.                           acutPrintf(ACRX采用T("\n"));
  76.                  }
  77.                  r.close();       
  78.                  acutPrintf(ACRX采用T("输出文件内容完毕!"));
  79.          }
  80. };
  81. void fileSimpleClass::pfvalueWriteLine(char* line)
  82. {
  83.         char* fpath="d:\\testwrite.txt";
  84.         ofstream w(fpath,ofstream.app);
  85.         if(!w)
  86.         {
  87.         acutPrintf(ACRX采用T("打开文件出错!"));
  88.         }
  89.         else
  90.         {
  91.                 w.write(line,strlen(line));                
  92.                 w.flush();
  93.                 w.close();                 
  94.         }
  95. };
  96. #endif
复制代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|膜结构网

GMT+8, 2025-1-1 17:05 , Processed in 0.129736 second(s), 22 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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