C
FILE* fp;
//写
fp = fopen("path","w");//打开文件
//if((fp = fopen("path","r") != NULL))
if(fp != NULL){
fputs(str,fp);//将字符串str写入文件中
}
fclose(fp);
//读
fp = fopen("path","r");//打开文件
//if((fp = fopen("path","r") != NULL))
if(fp != NULL){
fgets(str,n,fp);//从文件中读取一个字符串,其中n表示读取的字符串长度,最多只能读取n-1个字符
}
fclose(fp);
C++
读写操作流程:
1.为要进行操作的文件定义一个流对象。
2.打开(建立)文件。
3.进行读写操作。
4.关闭文件。
详解:
1.建立流对象:
输入文件流类(执行读操作):ifstream in;
输出文件流类(执行写操作):ofstream out;
输入输出文件流类:fstream both;
注意:这三类文件流类都定义在fstream中,所以只要在头文件中加上fstream即可。
2.使用成员函数open打开函数:
使用方式: ios::in 以输入方式打开文件(读操作)
ios::out 以输出方式打开文件(写操作),如果已经存在此名字的文件夹,则将其原有内容全部清除
ios::app 以输入方式打开文件,写入的数据增加至文件末尾
ios::ate 打开一个文件,把文件指针移到文件末尾
ios::binary 以二进制方式打开一个文件,默认为文本打开方式
举例:定义流类对象:ofstream out (输出流)
进行写操作:out.open("test.dat", ios::out); //打开一个名为test.dat的文件
#include <fstream>
ifstream in; //输入流,从文件中获取输入
ofstream out; //输出流,向文件中写入
out.open("path",ios::out); //以写的方式打开path路径文件
in.open("path",ios::in); //以读的方式打开path路径文件
out << "ssss" << '\n'; //向文件中写入ssss,并换行
in >> a >> c ; //从文件中读取内容,并赋给a和c,这里按照数据类型匹配
getline(in,str); //从文件中读取一行内容,并存到字符串str中
out.close();
in.close();
===========================2021.0408 更新==================================
C操作文件,高级用法
#include <cstdio>
FILE * fp;
if ((fp = fopen("./temp.txt", "r")) == NULL){
std::cout << "C:NOT FOUND FILE" << std::endl;
}
//从文件中读字符fgetc(fp),fputc(char,fp)向文件中写一个字符
char c = fgetc(fp); //执行语句后,读取一个字符,位置指针会向后移动一个
printf("%c", c);
rewind(fp); //此时位置指针在第二个字符,使用rewind后位置指针移动至开始处
fseek(fp,3,1); //fseek修改位置指针,3为位置指针偏移量,1为参考目标(0开始,1当前位置,2末尾)
ftell(fp);//返回位置指针的当前位置,相对于开头为参考,返回值是一个long
feof(fp);//判断是否到达文件结尾,在结尾返回1,否则返回0
//从文件中读字符串fgets(str,n,fp)实际读取字符串长度为n-1,fputc(str,fp)向文件中写字符串
char str[100];
fgets(str,10,fp); //执行语句后此时位置指针在第10个字符
printf("%s", str);
fclose(fp);
C++操作文件
https://www.cnblogs.com/azraelly/archive/2012/04/14/2446914.html
C++Primer介绍