文件的读/写

/写入文件,数据集ClientDataSet1里有a,b,c三个字段

if (ClientDataSet1->IsEmpty())
{
 ShowMessage("文件没有内容可以写入!");
 return;
}
SaveDialog1->Title = "选择路径名:";
SaveDialog1->FileName = "模块名" + Date().FormatString("yyyymmdd");
SaveDialog1->DefaultExt = "txt";
SaveDialog1->Filter = "文本文件(*.txt)|(*.txt)|所有文件(*.*)|(*.*)";
ClientDataSet1->First();
while (!ClientDataSet1->Eof)
{
 File * fp = fopen(SaveDialog1->FieldName,"wt");
 fprintf(fp, "%s/t", ClientDataSet1->FieldByName("a")->AsString.Trim());
 fprintf(fp, "%s/t", ClientDataSet1->FieldByName("b")->AsString.Trim());
 fprintf(fp, "%s/n", ClientDataSet1->FieldByName("c")->AsString.Trim());
 ClientDataSet1->Next();
}
fclose(fp);
ShowMessage("写入文件成功!");

//读取文件,存储到数据集ClientDataSet1的a,b,c字段中
int  i=0,ch,ntype=0;
char str[256];
AnsiString a,b,c;
File * fp = fopen(OpenDialog->FileName,"rt");
ClientDataSet1->EmptyDataSet();
while ((ch = fgetc(fp))!=Eof)
switch(ch)
{
 case '/t':
  str[ntype] = '/0';
  switch(i):
  {
   case 0: a = str;break;
   case 1: b = str;break;
   case 2: c = str;bread;
  }
  i++;
  ntype = 0;
  break;
 case '/n':
  str[ntype] = '/0';
  ClientDataSet1->Insert();
  ClientDataSet1->FieldByName("a")->AsString = a.Trim();
  ClientDataSet1->FieldByName("b")->AsString = a.Trim();
  ClientDataSet1->FieldByName("c")->AsString = a.Trim();
  i = 0;
  n = 0;
  break;
 default:
  str[ntype] = ch;
  ntype++;
}
fclose(fp);
ClientDataSet1->Post();
ShowMessage("读取文件成功!");

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值