c--文件读写

#include <stdio.h>

int main()
{
    FILE *fp=fopen("ss.txt","r"); //打开文件并创建文件指针 
    //实际上是由系统定义的一个结构,该结构中含有文件名、文件状态和文件当前位置等信息 
    //在进行读写操作之前要先打开,使用完毕要关闭
    //在打开一个文件时,如果出错,fopen将返回一个空指针值NULL
    /*
    r(read): 只读
    r+   :   打开读写,从文件头开始 
    w(write): 只写,如果存在则清空,如果不存在则新建 
    w+    : 读写,如果存在则清空,如果不存在则新建
    a(append): 追加,如果不存在则新建,如果文件存在则文件尾开始 
    t(text): 文本文件,可省略不写
    b(banary): 二进制文件
    x    :   只新建,如果文件已经存在则不能打开 
    
    
    “rt”      只读打开一个文本文件,只允许读数据 
    “wt”      只写打开或建立一个文本文件,只允许写数据
    “at”      追加打开一个文本文件,并在文件末尾写数据
    “rb”      只读打开一个二进制文件,只允许读数据
    “wb”       只写打开或建立一个二进制文件,只允许写数据
    “ab”           追加打开一个二进制文件,并在文件末尾写数据
    “rt+”      读写打开一个文本文件,允许读和写
    “wt+”      读写打开或建立一个文本文件,允许读写
    “at+”      读写打开一个文本文件,允许读,或在文件末追加数 据
    “rb+”      读写打开一个二进制文件,允许读和写 
    “wb+”      读写打开或建立一个二进制文件,允许读和写
    “ab+”           读写打开一个二进制文件,允许读,或在文件末追加数据
    */
    
    if(fp){
        int num,num1;
        fscanf(fp,"%d",&num); //从流stream读取格式化输入
        //从文件中读取一个数,放到num变量中 
        //移动文件指针 
        
        printf("%d\n",num);      
                
        int n=fclose(fp) ;//关闭文件 
        //正常完成关闭文件操作时,fclose函数返回值为0。如返回非零值则表示有错误发生
        
    }
    else{
        printf("%s\n","文件没有打开");
    }
    
    
    return 0;
}

fscanf说明:

格式:int fscanf(FILE *stream, const char *format, ...)  

返回值:如果成功,该函数返回成功匹配和赋值的个数。如果到达文件末尾或发生读错误,则返回 EOF

 参数1:FILE *stream   文件指针

参数2:const char *format

格式:%[*][width][modifiers]type]

*       : 这是一个可选的星号,表示数据是从流 stream 中读取的,但是可以被忽视

width:     读取的最大字符数

modifiers :为对应的附加参数所指向的数据指定一个不同于整型(针对 d、i 和 n)、无符号整型(针对 o、u 和 x)或浮点型(针对 e、f 和 g)的大小: h :短整型(针对 d、i 和 n),或无符号短整型(针对 o、u 和 x) l :长整型(针对 d、i 和 n),或无符号长整型(针对 o、u 和 x),或双精度型(针对 e、f 和 g) L :长双精度型(针对 e、f 和 g)

type:

 

猜你喜欢

转载自www.cnblogs.com/liming19680104/p/13379598.html