转载:https://blog.csdn.net/snowbird13/article/details/41211875

问题提出:

我们在实际编程中会将一些数据存储到文件中,用于更进一步的处理,或者便于另一些exe调用。方法有很多种。我这里只谈下CStdio类。

需了解更多的知识可以去msdn  点击打开链接,下面是我实际的一些应用。

1.定义

CStdioFile listCon;

2.打开文件

listCon.Open(“D:\\list.txt”,CFile::modeWrite | CFile::typeText | CFile::modeCreate | CFile::modeNoTruncate);

我直接写入路径了,大家也可以重新定义。特别注意后面的模式,需要根据需求填写。最后附录会列下,以后好找些。

3.向文件写入内容

CString temp;

temp.Format(“%d %s %d %d %d %d \n  ”,Curmoban.Id,file,Rectx,Recty,Rectwidth,Rectheight);
listCon.WriteString(temp);

通过循环写入后我们看到文件中内容。以空格隔开。

0 P0.bmp 0 0 0 0 
      1 P1.bmp 953 1017 136 347 
      2 P2.bmp 1102 1429 172 382 
      3 P3.bmp 1290 820 152 369 
      4 P4.bmp 1523 995 110 230

4.读取文件内容

CStdioFile file(“D:/list.txt”,CFile::modeRead);//创建CstdioFile对象
  while(file.ReadString(linedata))//读取出一行中的所有字符
   {
      sscanf(linedata,”%d%s%d%d%d%d%ld”,&Curmoban.ID,&Curmoban.filename,&Curmoban.Mobanbox.x,&Curmoban.Mobanbox.y,&Curmoban.Mobanbox.width,                  &Curmoban.Mobanbox.height,&Curmoban.Xiansi);//提取数据
   }

如此一来一个程序中产生的数据就在另一个程序中被提取出来了。可以为同一程序提供数据共享,也可以为不同程序提供数据共享。也可以调用Excel组件直接做数据处理。

5.总结:  数据文件的存贮还是非常有用的,方便了数据的记录,保存和处理。

附录:
参数二:nOpenFlags可组合为以下值:
CFile::modeCreate 创建一个新的文件,如果文件存在将文件截取成长度为0。 ·
CFile::modeNoTruncate 此标志总是与modeCreate 配合使用,如果文件存在,不将文件截取成长度为0;如果文件不存在即创建新文件。这个功能往往很好用,比如说,当你需要打开一个设置文件,但是你并不清楚这个文件是否已经存在。
CFile::modeRead 只读方式打开。
·CFile::modeReadWrite 读写方式打开。. ·
CFile::modeWrite 只写方式打开。 ·
CFile::modeNoInherit 阻止这个文件被子进程继承。 ·
CFile::shareDenyNone 打开这个文件同时允许其它进程读写这个文件。如果文件被其它进程以兼容的模式打开,这时create操作会失败。 ·
CFile::shareDenyRead 打开文件拒绝其它任何进程读这个文件。如果文件被其它进程用compatibility模式或者是读方式打开,create操作失败。. ·
CFile::shareDenyWrite 打开文件拒绝其它任何进程写这个文件。如果文件被其它进程用compatibility模式或者是写方式打开,create操作失败。 ·
CFile::shareExclusive 以独占方式打开这个文件,不允许其它进程读写这个文件。如果文件已经在其它程序或当前程序以其他方式打开来进行读写,将返回失败。 ·
CFile::shareCompat 这个标志在32位的MFC中无效。 ·
CFile::typeText 设置成对回车换行对有特殊处理的文本模式(仅用在派生类中)。 ·
CFile::typeBinary 设置二进制模式(仅用在派生类中) 。

VS2010 文件存取之CStdioFile相关推荐

  1. VS2010 编译 QT4.8.7 x64

    1 下载qt4.8.7源代码,解压到合适位置(如本文为d:\qt\4.8.7) 2 设置环境变量: set QMAKESPEC=win32-msvc2010 set QTDIR=d:\qt\4.8.7 ...

  2. 怎么在vs2010中使用ActiveX Test Container(转)

    ActiveX Test Container Application is Still Available(转) Hello, I'm Pat Brenner, a developer on the ...

  3. VS2010创建ATL类时需要手动填写ProgID

    在新建ATL类的时候VS2010默认是不填写ProgID的: 所以默认创建的类生成的rgs文件中只有NoRemove CLSID这一栏,导致在JS中使用new ActivexObject(" ...

  4. osgearth+vs2010安装

    OSGEARTH + VS2010 安装 *VS 平台不重要,本教程也适用于VS2008等.假设我的OSG目录为:D:/OSG *本教程参考网上osgearth+vs2008安装. 一.准备工作 下载 ...

  5. VS2010非永久性配置和永久配置Opencv

    前面的非永久性配置在很多博客中都已经详细说明,这里就大致说一下. 按照非永久性的步骤配置好之后,就可以在此基础上永久性配置. 1.下载安装OpenCV 下载地址如下:   http://sourcef ...

  6. windows下opencv安装及配置(vs2010环境)

    opecv下载 前往官方下载地址 https://opencv.org/releases/ opencv安装及配置 解压,会得到一个opencv文件夹,可将提取出的文件移动到任意位置,我将其放在F盘. ...

  7. 用vs2010打开使用vs2013升级后的WP工程

    项目在win7+vs2010的环境中建立的,后来在win8.1+vs2013的环境下修改和完善: 但是所有功能实现后发现wp7项目在使用vs2013打开后因为单向升级的原因,项目只能被编译为wp8项目 ...

  8. VS2008 VS2010发布网站时如何产生固定命名的 Dll 文件

    VS2008 发布网站时如何产生固定命名的 Dll 文件 dev.firnow.com    时间 : 2010-12-08  作者:网络   编辑:fnw 点击:  82 [ 评论 ] - - VS ...

  9. 使用VS2010调试技巧让C指针无处遁形

    Linux 下调试远没有windows下的VS方便,不管是VC++6还是VS2003,2005,2008,2010,2012. VS2012自动格式化代码 Ctrl+K+D VS下调试一定要注意尽量不 ...

最新文章

  1. 算法基础知识科普:8大搜索算法之二叉搜索树(上)
  2. CBS多机器人路径规划
  3. php分享二十四:数组
  4. java什么叫元素_什么是Java做什么 - 每个元素使它们成为对象类型?
  5. 2019年退税可以开始申报了 | 一笔3000元的意外收入
  6. Mysql源码学习——Thread Manager
  7. python中unitest_基于Python的unitest框架介绍
  8. 神推荐:西瓜导航你值得拥有
  9. 【C补充】指向指针或函数的指针
  10. 枚举所有IE窗口,实现自动登录
  11. 【语音控制ROS】PocketPhinx语音包的使用<三>
  12. Python爬虫——你们要的王者荣耀高清图
  13. 袁崇焕的悲剧在于忘了自己是一颗棋子以为有autonomy
  14. C语言编程题—结构体—设计程序,已知学生的记录由学号和学习成绩构成,N名学生的数据已存入a结构体数组中。请编写函数 fun:找出成绩最低的学生记录,通过形参返回主函数(规定只有一个最低分
  15. Java毕设项目派大星水产商城mp4(java+VUE+Mybatis+Maven+Mysql)
  16. 手动脱壳----PECompact 2.x - Jeremy Collake
  17. JAVA全栈开发微服务架构模式
  18. 睿智的法杖v8.28ti
  19. KafKa - 分区副本ISR选举机制
  20. 最新转转验机源码带验机报告

热门文章

  1. python学了两个月我就开始接单了
  2. 蓝魔RM970升级为2.4
  3. linux怎么装软件
  4. k8s强制删除namespace
  5. 利用ant编译EJB(1)-生成公共包
  6. dig 命令 LINUX
  7. mpg123源码详解
  8. 怎样将mpg格式的视频文件转换成mp4格式
  9. JAVA版微信机器人(非公众号)【L】
  10. c语言中的标准IO以及文件IO