• C++ File 类学习总结


    对于文件操作,以前我主要接触的是Linux下的一套,而到了C++学习了一下,也发现了一些异同点

    首先FILE 类需要头文件#include <stdio.h>

    对于打开文件操作,Linux下使用的是fopen函数,而在VS2010使用这个函数便会报警告

    error C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
    1> c:program files (x86)microsoft visual studio 12.0vcincludestdio.h(211)

    VS自己就建议你去使用fopen_s

    erron_t ret = fopen_s(&FILE*,"FILENAME","打开方式");

    打开成功返回0,失败返回非零值。

    值得一提的是:

    文件目录在VS下需要用\这点不等同于Linux下的来区分文件级别

    有个小点容易遗忘那就是,文件打开后,文件指针的位置与打开方式是有关的,具体关系如下:

    /***************************/

    文件打开方式                 文件指针位置

    r(读文件)                       文件头

    w(写文件)                      文件头

    a(a+)追加内容                文件尾

    /***************************/

    在用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个 

    求文件长度的话,可以通过rewind()函数将文件指针偏移到文件头,再通过fseek(FILE*, 0L, SEEK_END);

    读写文件的方式

    有fread fwrite fputs fgets等函数,通过这些与feof的搭配我们可以实现读写的详细操作,具体见函数原型。

    在我们操作完后记得关闭文件句柄fclose(FILE*);

  • 相关阅读:
    IO模型(一)
    协程(效率最快、重点)--初识协程、gevent模块、协程爬虫、协程socket(一)
    servlet工作原理解析
    servlet:servletconfig对象和它在开发过程中的应用场景
    servlet:线程安全问题
    servlet:启动的时机
    servlet:第一个demo
    安装myeclipse的一些配置
    同时安装32和64位的jdk
    fiddler:网络限速
  • 原文地址:https://www.cnblogs.com/coderYi-Home/p/4972168.html
Copyright © 2020-2023  润新知