美文网首页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++ 文件和流操作

    C 语言的文件读写操作 头文件 : stdio.h 函数原型:FILE * fopen(const char * ...

  • NDK开发工程目录和配置

    NDK开发工程目录和配置 文件目录 C/C++文件存放目录 存放C++ 文件 放入main目录下的cpp即可(默认...

  • 【C++】C++文件流操作

    文件操作是每门语言的必学项目,C++中同样如此,且C++中通过流(stream)这一形式进行输入输出、文件读写的控...

  • Android Studio NDK之——ndk编译C++提示找

    问题:ndk编译C++,提示找不到头文件(ndk-build error: string: No such fil...

  • NDK—C++命名空间和引用

    随着NDK的增量更新的学习,NDK也要结束了,今天我们开始新的内容那就是C++,相对于C,C++带来了更多的操作这...

  • C/C++ 基础

    ndk android ndk 里platformVersion = 14表示ndk 的版本要对应上 C/C++ ...

  • JNI高阶知识总结

    JNI与NDK的关系 NDK可以为我们生成了C/C++的动态链接库,JNI是java和C/C++沟通的接口,两者与...

  • c++文件操作详解

    c++文件操作详解 C++ 通过以下几个类支持文件的输入输出: ofstream: 写操作(输出)的文件类 (由o...

  • Android流媒体开发之路二:NDK C++开发Android

    NDK C++开发Android端RTMP直播推流程序 经过一番折腾,成功把RTMP直播推流代码,通过NDK交叉编...

  • 2021-01-22

    C++文件操作中,对文件流状态的检查通过fail()检测是否顺利,is_open是否打开,eof()是否已经达到文...

网友评论

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

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