C/C++文件操作

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介绍

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值