zoukankan      html  css  js  c++  java
  • 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*);

  • 相关阅读:
    virtual方法和abstract方法的使用(轉載)
    C# 如何寫入cookie
    Literal的一般用法,与Label对比 MSDN上的解释
    With temp as---sql语句用法 转
    GridView __DataKey 使用
    .net里radiobutton 两个怎么才能让他只选择一个
    Server.Transfer()与Response.Redirect()区别
    OnInit 事件
    ajax中Sys.WebForms.PageRequestManager的事件激发顺序
    Linux CentOS 查看某个进程打开的文件(文件描述符)
  • 原文地址:https://www.cnblogs.com/coderYi-Home/p/4972168.html
Copyright © 2011-2022 走看看