c++基于流文件输入输出的综合程序设计
2023-12-13 15:03:04
- 运行下列程序,分析结果。
#include <iostream>
#include<fstream>
using namespace std;
int main()
{
????fstream out,in;
????out.open("a.dat",ios::out);
????out<<"As a matter of fact,\n";
????out<<"operating file \n";
????out<<"is the same as inputing/outputing data on screen...\n";
????out.close();
????char buffer[80];
????in.open("a.dat",ios::in);
????while(!in.eof())
????{
????????in.getline(buffer,80);
????????cout<<buffer<<endl;
????}
????return 0;
}
当前目录下创建文件a.dat,内容为
As a matter of fact
operating file
is the same as inputing/outputing data on screen...
输入当前目录文件a.dat
2、编写一个程序,读入一个C++语言的源文件,每一行加上行号后保存到另一个后缀为.txt的同名文件中,同时输出到屏幕上。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("实验5.cpp");
ofstream fout;
char filename[20] = "实验5.txt";
fout.open(filename, ios::app | ios::out);
if (fin.fail() || fout.fail())
{
cout << "文件打开失败!";
return 0;
}
//读写文件
char ch[100];
while (fin)
{
fin.getline(ch, 99);
cout << ch << '\n';
fout << ch << '\n';
}
fin.close();
fout.close();
return 0;
}
3、编写程序,生成一个二进制数据文件,将n~m之间的所有素数写入文件data.dat中。从数据文件中读取二进制数据,并在显示器上以每行10个数的形式显示。
#include <fstream>
#include <iostream>
#include <bitset>
using namespace std;
bool isPrime(int num) {
if (num < 2) {
return false;
}
for (int i = 2; i <= sqrt(num); ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main()
{
int n, m;
cout << "请输入开始结束的区间!";
cin >> n >> m;
ofstream fout;
char filename[10] = "data.dat";
fout.open(filename, ios_base::out | ios_base::binary);
if (fout.fail())
{
cout << "打开文件失败!" << endl;
return 0;
}
for (int i = n; i <= m; ++i)
{
if (isPrime(i)) {
fout.write(reinterpret_cast<const char*>(&i), sizeof(int));
}
}
fout.close();
ifstream fin;
fin.open(filename, ios_base::in | ios_base::binary);
if (fin.fail())
{
cout << "打开文件失败!" << endl;
return 0;
}
int num, count = 0;
while (fin.read(reinterpret_cast<char*>(&num), sizeof(int))) {
std::cout << num << "\t";
++count;
if (count % 10 == 0) {
cout << endl;
}
}
cout << endl;
fin.close();
return 0;
}
文章来源:https://blog.csdn.net/toptopniba/article/details/134879477
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!