废话:
今天学了文件,太有趣了。
写了一个关于fgets和fputs函数的应用实例,对文件的了解有了质的飞跃。
实例大意:就是把一句话写进一个文件,把另一句话写进另一个文件,再把两个文件的内容拼接起来,输出。
上代码说话:
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
FILE* fp1;
fp1 = fopen("firsttest.txt", "w+");//w+:以该方式打开文件,会首先清空原文件,若文件不存在则新建。
fputs("Are you ok?", fp1);//1.向first文件写入第一句话
FILE* fp2;
fp2 = fopen("secondtest.txt", "w+");
fputs("I am fine!", fp2);//2.向second文件写入第二句话
rewind(fp1);
rewind(fp2);//文件写入时文件的指针会后移,写完了用该函数将指针重返开头处
char s1[50], s2[50], s3[100];
fgets(s1, 50, fp1);
fgets(s2, 50, fp2);//将两句话分别读入数组里
fputs(s2, fp1);//文件读的时候指针也会动,这是fp1刚好就在末尾,将s2写入该文件
rewind(fp1);//同理
fgets(s3, 100, fp1);//此时fp1是两句话的拼接,将它读入数组
cout << s3 << endl;//输出
return 0;
}
运行情况:
注意,大大的注意:
一般情况下,编译器的编码与txt文本文件的编码是不一样的,在小黑窗输出时会乱码。
一般是将txt文本文件编码改掉,如图:
感谢阅读!!!