CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

读取文本文件?

楼主thisworld(这个世界)2005-05-22 23:18:16 在 VC/MFC / 基础类 提问

一文本文件中存有n条这样的记录:  
  struct   Record  
  {  
      int   id;  
      CString   name;  
      CString   other;  
  };  
   
  其中id,name,other都用逗号分开,记录与记录之间也用逗号分开,如何一个一个读去出来? 问题点数:100、回复次数:5Top

1 楼krh2001(边城浪子)回复于 2005-05-22 23:22:04 得分 40

FILE   *   f   =   fopen(filename",   "r");  
   
  int   id;  
  char   name[128];     //   足够多大的缓冲  
  char   other[128];     //   同上  
   
   
  while(fscanf(f,   "%d,%s,%s,",   &id,   name,   other)==3)  
  {  
        Record*   p   =   new   Record;  
        p->id   =   id;  
        p->name   =   name;  
        p->other   =   other;  
   
        m_listRecord.Add(p);  
       
  }  
   
  Top

2 楼krh2001(边城浪子)回复于 2005-05-22 23:35:55 得分 0

修正一下,经实测   fscanf一句   应改为:  
   
  while(fscanf(f,   "%d,%[^,],%[^,],",   &id,   name,   other)==3)  
  Top

3 楼fvan(RainVan)回复于 2005-05-22 23:48:50 得分 40

怎么最近问读写文本的人不少A?Top

4 楼fvan(RainVan)回复于 2005-05-22 23:53:35 得分 0

#include<fstream>//使用C++标准库  
  using   namespace   std;  
   
  struct   Record  
  {  
      int   id;  
      char   name[256];  
      char   other[256];//CString类本身有指针,读写麻烦,容易出错。固用数组  
  };  
   
  //写入文件  
  struct   Record   info;  
  ofstream   outbal("test.bat",ios::out|ios::binary)//二进制打开,默认为文本  
  if(!outbal)  
  {  
      return   false;//打开文件失败  
  }  
  outbal.write((char   *)&info,sizeof(struct   info));  
  outbal.close();  
   
  //读取文件  
  struct   Record   info;  
  ifstream   inbal("test.bat",ios::in|ios::binary)//二进制打开,默认为文本  
  if(!inbal)  
  {  
      return   false;//打开文件失败  
  }  
  inbal.read((char   *)&info,sizeof(struct   info));//读取到变量info中,如果文件有多组值,可用循环  
  inbal.close();  
  Top

5 楼lxcLinuxer(lxcLinuxer)回复于 2005-05-23 00:02:51 得分 20

创建一个新的locale,把';'加入到ctype_base::space中,如果你的字符串中有空格  
  的话,就把ctype_base::space加入到ctype_base::alpha中,然后把imbue到fstream中就  
  可以一个一个字段的读了。三个字段就是一个记录了。:)Top

相关问题

  • 读取文本文件
  • 文本文件的读取
  • PHP读取文本文件
  • 如何读取文本文件?
  • 读取文本文件的问题?
  • 读取文本文件的问题?
  • 读取一个文本文件~555
  • 如何读取文本文件中?急!
  • 读取文本文件的代码
  • 如何读取这种文本文件.

关键词

  • 文件
  • inbal
  • outbal
  • 读取
  • fscanf
  • record
  • 打开
  • 记录
  • ctype
  • info

得分解答快速导航

  • 帖主:thisworld
  • krh2001
  • fvan
  • lxcLinuxer

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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