CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C++ Builder >  基础类

文件操作

楼主houwf(小石头)2002-07-27 18:05:54 在 C++ Builder / 基础类 提问

我想把一个Edit组建的内容写入文件,怎么做?  
  读出来又怎么做?  
  我查了以前的帖子,但是都不行,写入的都是char类型的,不是string类型的。 问题点数:40、回复次数:7Top

1 楼Adayuer(饭碗饭碗饭碗你在哪里?)回复于 2002-07-27 18:34:01 得分 5

你查一下这两个函数  
  FileRead();  
  FileWrite();  
   
  类型的问题,转换一下就ok了Top

2 楼hailulu_wang(没啥)回复于 2002-07-27 19:13:46 得分 5

将edit的文字转化成char不就行了吗,然后使用文件流读写。Top

3 楼houwf(小石头)回复于 2002-07-27 23:08:01 得分 0

就是转换不了啊,我试了很久都不行,老是说‘string'和‘char’的什么。  
  能不能给点列子啊?具体该怎么做呢?Top

4 楼iceblue007(冰蓝世纪)回复于 2002-07-28 00:46:21 得分 20

//贴一下帮助给你哦!  
   
  #include   <dir.h>  
  void   __fastcall   TForm1::Button1Click(TObject   *Sender)  
  {  
      char   szFileName[MAXFILE+4];  
      int   iFileHandle;  
      int   iLength;  
      if   (SaveDialog1->Execute())  
      {  
          if   (FileExists(SaveDialog1->FileName))  
          {  
              fnsplit(SaveDialog1->FileName.c_str(),   0,   0,   szFileName,   0);  
              strcat(szFileName,   ".BAK");  
              RenameFile(SaveDialog1->FileName,   szFileName);  
          }  
          iFileHandle   =   FileCreate(SaveDialog1->FileName);//创建文件句柄  
   
          //   Write   out   the   number   of   rows   and   columns   in   the   grid.  
          FileWrite(iFileHandle,   (char*)&(StringGrid1->ColCount),   sizeof  
  (StringGrid1->ColCount));//开始写文件  
          FileWrite(iFileHandle,   (char*)&(StringGrid1->RowCount),   sizeof  
  (StringGrid1->RowCount));  
          for   (int   x=0;x<StringGrid1->ColCount;x++)  
          {  
              for   (int   y=0;y<StringGrid1->RowCount;y++)  
              {  
                  //   Write   out   the   length   of   each   string,   followed   by   the   string   itself.  
   
                  iLength   =   StringGrid1->Cells[x][y].Length();  
                  FileWrite(iFileHandle,   (char*)&iLength,   sizeof(iLength));  
                  FileWrite(iFileHandle,   StringGrid1->Cells[x][y].c_str(),   StringGrid1->Cells[x][y].Length());  
              }  
          }  
          FileClose(iFileHandle);//操作完毕,关闭文件句柄  
      }  
  }Top

5 楼aawolf(羌狼)回复于 2002-07-28 08:17:03 得分 10

这是段DELPHI的代码改改就能用了,手边没有BCB真郁闷。  
  procedure   TForm1.BitBtn1Click(Sender:   TObject);  
   
  begin  
  with   PrintDialog1   do  
      begin  
      Options   :=   [poPrintToFile];  
      PrintToFile   :=   True;  
      if   Execute   then  
          begin  
          if   PrintToFile   then  
              begin  
              SaveDialog1.Title   :=   'Print   to   File:   ';  
              if   SaveDialog1.Execute   then  
                  RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);  
              end  
          else  
              RichEdit1.Print('');  
          end;  
   
      end;  
   
  end;Top

6 楼dycdyc123(重出江湖)回复于 2002-07-28 08:32:57 得分 0

:   iceblue007(踏雪寻梅)   的例子很好!  
   
  Top

7 楼houwf(小石头)回复于 2002-07-28 11:20:35 得分 0

请大家原谅,我是菜鸟,我看不懂啊,有没有简单一点的,比如和fstream有关的?Top

相关问题

  • 文件操作!
  • 文件操作
  • 文件操作?
  • 文件操作
  • 文件操作
  • 文件操作
  • 文件操作
  • 文件操作!
  • 文件操作
  • 文件操作

关键词

  • 文件
  • ifilehandle
  • savedialog
  • stringgrid
  • filewrite
  • ilength
  • szfilename
  • colcount
  • rowcount
  • 类型

得分解答快速导航

  • 帖主:houwf
  • Adayuer
  • hailulu_wang
  • iceblue007
  • aawolf

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo