扩展阅读
文件操作
文件的概念
大家平时都用过笔记本,我们可以在笔记本上记录很多东西,比如日记、作业答案等。而且这些记录的内容不会因为我们合上笔记本就消失,下次打开还能看到。在电脑里,文件就像是笔记本,它可以存储各种各样的信息,像文字、图片、视频等。我们可以把数据写到文件里保存起来,也可以从文件里读取已经保存的数据。
用 freopen
实现文件读写
freopen
是C++里一个很有用的工具,它能让我们的程序和文件“对话”,也就是把程序里的数据写到文件里,或者从文件里读取数据到程序中。
freopen
函数的基本语法
- “文件名”就是你要操作的文件的名字,比如 “test.txt”。
- “打开方式”有好几种:
"r"
表示以只读的方式打开文件,也就是只能从文件里读取数据。"w"
表示以写入的方式打开文件,如果文件不存在就创建一个新的,如果文件已经存在就把里面原来的内容清空。"a"
表示以追加的方式打开文件,如果文件不存在就创建一个新的,如果文件已经存在就把新的数据添加到文件的末尾。
- “文件流”通常用
stdin
表示标准输入(也就是从键盘输入),stdout
表示标准输出(也就是输出到屏幕)。
例题及示例代码
例题1:把数据写入文件
这段代码里,freopen("test.txt", "w", stdout);
把原本要输出到屏幕的内容,重定向到了 test.txt
文件里。所以 std::cout << "这是写入文件的内容。" << std::endl;
这句话的内容就会被写到 test.txt
文件中。
例题2:从文件里读取数据
在这个例子中,freopen("test.txt", "r", stdin);
把原本从键盘输入的数据,改成从 test.txt
文件里读取。所以 std::cin.getline(str, 100);
会从 test.txt
文件里读取一行内容到 str
字符串中,然后再把读取到的内容输出到屏幕上。
例题3:先写入数据,再读取数据
这个例子结合了写入和读取操作。先把两个整数 10
和 20
写入到 data.txt
文件中,然后再从这个文件里读取这两个整数,把它们相加后输出结果到屏幕上。
通过上面的讲解和例题,你应该对文件的概念和 freopen
函数的使用有了基本的了解。使用 freopen
函数可以很方便地实现文件的读写操作,这样我们就能把程序里的数据保存下来,或者使用已经保存好的数据。