C和C++读写txt操作方法,以及中文乱码问题的解决

C和C++读写txt操作方法,以及中文乱码问题的解决

方法一: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,覆盖到原来的文件即可

以上为个人学习总结,当然还有很多方法

你悟解了吗?

相关推荐

手机QQ透明头像怎么设置?详细步骤新手必看! 我和大佬的365天第三季免费看

手机QQ透明头像怎么设置?详细步骤新手必看!

梅西圆梦大力神杯,真的有剧本吗?一人差点改写剧本,不是姆巴佩 神器365软件下载

梅西圆梦大力神杯,真的有剧本吗?一人差点改写剧本,不是姆巴佩

每天签到赚钱的软件,免费领钱,一天20元 我和大佬的365天第三季免费看

每天签到赚钱的软件,免费领钱,一天20元