前言:

介绍如何使用 CStdioFile 类去写文件。

完整工程代码,点我下载(请注意工程里面需要包含的 <locale.h>头文件 )

示例:

 1  /// My Add
 2     // 获取当前路径名
 3     WCHAR szPaht[MAX_PATH] = { 0 };
 4     GetModuleFileName(NULL, szPaht, sizeof(szPaht));
 5     PathRemoveFileSpec(szPaht);
 6
 7     // 设置你的文件名
 8     CString strFileName("Demo.txt");
 9
10     // 将文件名附加在 当前路径 里面
11     wcscat_s(szPaht, L"\\");  ///知道为啥是L 开头吗,因为vs2013工程默认是unicode环境,unicode字符串需要 L  开头的宏
12     wcscat_s(szPaht, strFileName.GetString());
13
14     /// 必须 设置 一下 语言环境,否则 my_log_file.WriteString 不能输出中文(是不是感觉好复杂?)没关系,当前工程能跑起来,能够就行。
15     setlocale(LC_ALL, "chs");
16
17     // 文件读写 StdioFile
18     // 1.创建 CStdioFile的对象,并指定 读写文件的方式。 CFile::modeNoTruncate,不会覆盖之前的文件。
19     CStdioFile my_log_file(szPaht, CFile::modeWrite | CFile::modeCreate | CFile::modeNoTruncate);
20     /// 这里将2行代码合并为1行了。如果分开写,是这样的:
21     /// CStdioFile my_log_file;
22     /// my_log_file.Open(szPaht, CFile::modeWrite | CFile::modeCreate | CFile::modeNoTruncate);
23     ////
24
25     // 2.将读写指针移到文件末尾
26     my_log_file.SeekToEnd();
27     // 3.写入一个字符串
28     CString  strData;
29     strData.Format(L"%s", L"早上好,");
30     strData = strData + L"乌龟大师。\r\n";
31     my_log_file.WriteString(strData);
32     // 4.关闭 读写指针
33     my_log_file.Close();

因为是在vs2013下创建的工程,默认是unicode编码,所以就用到了 WCHAR 这样的字符类型。

这里面也有 再次介绍 如何 获取字符串。

这些都不是重点。重点看看  CStdioFile 这个类如何使用。

1.创建这个类的对象;

2.调用open() 方法,打开某个文件;/ 第1步和第2步可以合并。见代码第19行。

3.如果有必要,就调用 SeekToEnd(),将文件指针移到文件末尾

4.调用WriteString() 写入文件;

5.写完之后,关闭文件。

必须指出的地方:

1. 需要设置 语言环境(setlocale(LC_ALL, "chs");  ),否则 WriteString() 无法将中文写入到文本文件中。

2.我讲解的不太清楚,如果你也看得迷迷糊糊的,没关系,有源码。可以直接拿来用的。前言部分 有源码链接。

参考链接:

http://blog.csdn.net/ljz888666555/article/details/5511247

http://blog.csdn.net/jearmy/article/details/39559895

转载于:https://www.cnblogs.com/MasterOogway/p/5801464.html

CStdioFile 写文件相关推荐

  1. CStdioFile写文件中出现的问题

    被一个bug纠缠了两天,今天总算找到问题在哪里了: //创建学生端存放考试结果文件夹  CString strFolderPath = "C://";  strFolderPath ...

  2. CStdioFile 写文件的一个坑

    CStdioFile file(strFile,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite); file.WriteString( ...

  3. 利用CStdioFile类实现写文件读文件(mfc)

    文章目录 1.主要函数 1.1读文件 1.2写文件 2.补充知识 3.说明 二话不说,先上代码! 1.主要函数 1.1读文件 // TODO: 在此添加控件通知处理程序代码CFileDialog dl ...

  4. CStdioFile读写文件的问题

    该注意的地方: 1.读文件操作中的file和path均在CXXApp类中定义,需要在CXXView中使用,我采用的方法是获取theApp对象,从而使用其中定义的file和path变量.在CXXView ...

  5. CFile和CStdioFile的文件读写使用方法

    CFile //创建/打开文件 CFile file; file.Open(_T("test.txt"),CFile::modeCreate|CFile::modeNoTrunca ...

  6. Hhadoop-2.7.0中HDFS写文件源码分析(二):客户端实现(1)

    一.综述 HDFS写文件是整个Hadoop中最为复杂的流程之一,它涉及到HDFS中NameNode.DataNode.DFSClient等众多角色的分工与合作. 首先上一段代码,客户端是如何写文件的: ...

  7. python中如何在写文件之前删除文件内容_Python:文件的读取、创建、追加、删除、清空...

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 >> ...

  8. java写文件方法之比较

    import java.io.BufferedOutputStream; import java.io.File; import java.io.FileOutputStream; import ja ...

  9. hadoop写文件 java_写文件 - Hadoop 学习手册_教程_Java开发社区

    HDFS - 写文件 1.客户端将文件写入本地磁盘的N#x4E34;时文件中 2.当临时文件大小达到一个block大小时,HDFS client通知NameNode,申请写入文件 3.NameNode ...

最新文章

  1. simplexml php,php的simplexml
  2. 测试框架之GTest
  3. usb otg vnc linux,20131126版本后,可以从PC通过USB-OTG VNC到pcDuino
  4. Mysql+Heartbeat+Drbd生产环境高可用部署若干问题解惑
  5. 当你的程序在朋友的机器上显示丢失msvcr100d.dll的时候
  6. 奔向成功,有志人士创业的十大策略
  7. 【转】javascript代码混淆和压缩
  8. PM_10 十大管理之项目沟通管理(七)和干系人管理(八)
  9. 美团到店Java二面:TCP 糊涂窗口综合症面试题汇总解析
  10. 触摸电视电脑一体机的应用、功能优势
  11. c语言随机摇号程序,再谈电脑摇号之作弊
  12. Hive获取周月时间
  13. clion_gcc报错
  14. 蓝桥杯之平面切分(几何问题)
  15. qlv转php,如何将qlv文件转换成mp,qlv文件怎么免费转换为mp4格式
  16. 网络安全实验-入侵检测-基于网络入侵检测系统
  17. 卡苹果6plus在线_坐公交“神器”来了!在线充值、在线年检、信息查询...太方便了!...
  18. python提取字符串中的数字
  19. 两年波折路(考研、工作、考研)
  20. mcjava盗版联机_盗版我的世界怎么局域网联机

热门文章

  1. poi操作excel,复制sheet,复制行,复制单元格
  2. iOS有反检测能力的越狱工具shadow的分析和检测
  3. 海蜘蛛系统日志怎么保存到服务器,海蜘蛛软路由网络设置的操作步骤
  4. AV终结者病毒全面解读及完整解决方案
  5. pc端网页唤起本地的咚咚和千牛
  6. js实现datadog hostMap
  7. Java实现约瑟夫环问题
  8. COOX培训材料 — PMT(3.Unit Procedure)
  9. Shell编程之正则表达式(及操作案例)
  10. 数据库服务器审计系统部署方式,数据库审计系统D2020,agent方式审计如何配置...