方法一:FILE *f=fopen("文件名","打开方式")(c和c++都适用)
1、从txt中读取:
#include
int main(){
char a[5];
char b;
int c;
//如下
FILE *f;
f=fopen("悟解的文本文件.txt","r+"); //打开文件
fscanf(f,"%s %c %d",&a,&b,&c);
fclose(f); //关闭文件
//输出看看效果
printf("%s %c %d",a,b,c);
}
我们看看输出结果和原本txt中的内容:
1、向txt中写入:
#include
int main(){
char a[5]="ok";
char b='!';
int c=666;
//如下
FILE *f;
f=fopen("悟解的文本文件.txt","w+"); //打开文件
fprintf(f,"%d %c %s\n",c,b,a);
fclose(f); //关闭文件
}
我们来看前后对比:(上边边为原始的,下边为运行之后的)
接下来我们给出一些打开类型
r只读必须是已存在的文件w只写无论文件是否存在,都新建一个文件a添加向文本文件尾部添加数据r+可读可写必须是已存在的文件w+可读可写无论文件是否存在,都新建一个文件a+可读可写向文本文件尾部添加数据 补充:
还有一些如:rb、rb+、wb、wb+、ab、ab+
这些是基于二进制文件
方法二:io流(适用与c++)
1、从txt中读取:
#include
using namespace std;
int main(){
char a[5];
char b;
int c;
//如下
ifstream in("悟解的文本文件.txt");
in>>c>>b>>a;
in.close();
//输出看看
cout< } 我们看看输出结果和原本txt中的内容: 1、向txt中写入: int main(){ char a[6]="wujie"; char b='?'; int c=2022; //如下 ofstream out("悟解的文本文件.txt"); out<< a <<" "<< b <<" "<< c; out.close(); } 我们来看前后对比:(上边边为原始的,下边为运行之后的) 中文乱码问题: 问题描述: 当我们读入文件中含有中文时:例子如下(txt编码格式为UTF-8) 我们的程序如下: int main(){ string s; //如下 ifstream in("悟解的文本文件.txt"); in>>s; in.close(); //输出看看 cout< } 我们执行读取操作会得到的结果如下: 解决办法:将txt格式改为ANSI 操作如下: 另存为 ,在下方编码处选择ANSI,覆盖到原来的文件即可 以上为个人学习总结,当然还有很多方法 你悟解了吗?