美文网首页NDK
【NDK 7】 c/c++ 文件和流操作

【NDK 7】 c/c++ 文件和流操作

作者: ddssingsong | 来源:发表于2019-06-27 11:59 被阅读0次

    C 语言的文件读写操作

    头文件 : stdio.h

    函数原型:FILE * fopen(const char * path, const char * mode);

    path: 操作的文件路径

    mode:模式

    模式 描述
    r 打开一个已有的文本文件,允许读取文件。
    w 打开一个文本文件,允许写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会从文件的开头写入内容。如果文件存在,则该会被截断为零长度,重新写入。
    a 打开一个文本文件,以追加模式写入文件。如果文件不存在,则会创建一个新文件。在这里,您的程序会在已有的文件内容中追加内容。
    r+ 打开一个文本文件,允许读写文件。
    w+ 打开一个文本文件,允许读写文件。如果文件已存在,则文件会被截断为零长度,如果文件不存在,则会创建一个新文件。
    a+ 打开一个文本文件,允许读写文件。如果文件不存在,则会创建一个新文件。读取会从文件的开头开始,写入则只能是追加模式。

    注意:
    1.凡用“r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。
    2.用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。若以写或读写方式打开一个已存在的文件时将清除原来文件的内容,希望写入的字符以文件末开始存放,必须以追加方式打开文件。
    3.若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。

    fgetc函数

    功 能:从fp所指向的文件中读取字符
    用 法:int fgetc(FILE *fp);
    返回值:返回文件fp所指向的文件中的字符值(EOF为文件尾)
    补 充:
    1.调用该函数时,文件使用方式必须是以读或读写方式打开的。
    2.在文件内部有一个位置指针,用来指向文件的当前读写

    fputc函数

    功能:将字符(ch的值)输出到fp所指向的文件中去。
    用法:int futc(int ch,FILE *fp);
    返回值:写入成功返回写入字符ch
    不成功返回EOF

    写入

    FILE *f = fopen("xxxx\\t.txt","w");
    //写入单个字符
    fputc('a', f);
    fclose(f);
    
    
    FILE *f = fopen("xxxx\\t.txt","w");
    char *txt = "123456";
    //写入以 null 结尾的字符数组
    fputs(txt, f);
    //格式化并输出
    fprintf(f,"%s",txt);
    fclose(f);
    

    读取

    char buff[255];
    FILE *f = fopen("xxxx\\t.txt", "r");
    //读取 遇到第一个空格字符停止
    fscanf(f, "%s", buff);
    printf("1: %s\n", buff);
    
    //最大读取 255-1 个字符
    fgets(buff, 255, f);
    printf("2: %s\n", buff);
    fclose(f);
    

    二进制读写

    //二进制 I/O 函数
    size_t fread(void *ptr, size_t size_of_elements, 
                 size_t number_of_elements, FILE *a_file);       
    size_t fwrite(const void *ptr, size_t size_of_elements, 
                 size_t number_of_elements, FILE *a_file);
    //1、写入/读取数据缓存区
    //2、每个数据项的大小
    //3、多少个数据项
    //4、流
    //如:图片、视频等以二进制操作:
    //写入buffer 有 1024个字节
    fwrite(buffer,1024,1,f);
    

    C++ 文件读写操作

    <iostream\>\<fstream\>

    数据类型 描述
    ofstream 输出文件流,创建文件并向文件写入信息。
    ifstream 输入文件流,从文件读取信息。
    fstream 文件流,且同时具有 ofstream 和 ifstream 两种功能。
    char data[100];
    // 以写模式打开文件
    ofstream outfile;
    outfile.open("XXX\\f.txt");
    cout << "输入你的名字: ";
    //cin 接收终端的输入
    cin >> data;
    // 向文件写入用户输入的数据
    outfile << data << endl;
    // 关闭打开的文件
    outfile.close();
    
    // 以读模式打开文件
    ifstream infile;
    infile.open("XXX\\f.txt");
    
    cout << "读取文件" << endl;
    infile >> data;
    cout << data << endl;
    
    // 关闭
    infile.close();
    

    相关文章

      网友评论

        本文标题:【NDK 7】 c/c++ 文件和流操作

        本文链接:https://www.haomeiwen.com/subject/zxwlcctx.html