#include <iostream>
#include <fstream>
using namespace std;
int main() {
ofstream file;
file.open("example.txt");
try {
if(!file.is_open()) {
throw "无法打开文件";
}
file << "这是一个用于测试的文本文件。" << endl;
file.close();
} catch(const char* msg) {
cerr << "错误: " << msg << endl;
}
return 0;
}
当个笔记吧,老是忘记,而且最近一直在忙找工作,笔试的时候可能用的到。
1、输入数据类型(int、double、float等)
#include <iostream>
using namespace std;
int main()
{
int i;
double j;
float k;
cin >> i >> j >> k;
}
2、输入为字符串(char []、string)
void Input(){
char a[50]; // 最大长度为50,输入的时候不能超过,不足的话用“\0”填充
string s1;
// 这里遇到输入的字符串中有“空格”、“回车”、“Tab”, 都会停止输入
cin >> a;
cin >> s1;
}
这里举个栗子:
char a[10];
cin >> a;
cout << "a = " << a << endl;
string s1;
cin >> s1;
cout << s1 << endl;
char a[20];
string s1;
cin >> a >> s1; // 其实这就是两中不同类型的字符串的混合输入,看下面他的输出
cout << ”第一个字符串a= “ << a << endl << "第二个字符串s1= " << s1 << endl;
遇到空格等特殊字符,会换一个变量传值,再举一个混合输入的栗子,体会一下
int score;
string studentnum;
string name;
cin >> name >> studentnum >> score;// 一定要按这种格式的输入
cout << score << studentnum << name << endl;
3、cin.get()这个函数也可以用来输入
char a;
a = cin.get(); // 若输入:xiao hei
cout << a << endl; // 则输出:x,可任意看出只能用来接收一个字符
char b[10];
cin.get(b, 10); // 若输入:xiao hei,这种方式,最多输入9个字符,加上“\0”刚好10个
cout << b << endl; // 则输出:xiao hei,可输入字符串,会把空格等特殊字符也当作变量的一个字符
4、cin.getline()这个函数可以用来接收一个字符串,尽管字符串中含有空格等特殊字符,
这个与上面的get()函数接收字符串有点类似。其实getline这个函数有三个形参。第一个为字符串名,第二个字符串最大长度,第三个为终止输入的特殊字符。若下面的getline(s1, 10),改为getline(s1, 10, ‘a’),则输出的的是:xi
char a[10];
cin.getline(a, 10);
cout << a << endl;
5、上面的是针对char类型,对于string类型,也可以用getline()函数,但是该函数不属于输入流的成员函数,属于string成员函数
string s1;
getline(cin, s1);
cout << s1 << endl;
暂时用的比较多就是这几种了,如果遇到了还会继续添加。下面看下对单(双)精度浮点数,固定小数点位数输出,这些都是小问题,我觉得该记还是得记。
1、precision()函数和fixed一起用
double pi = 3.141592654;
cout.precision(5); // 控制小数点后五位
cout << fixed << pi << endl; // 输出为:3.14159
2、采用格式控制函数setpricesion()和fixed一起用
double pi = 3.141592654;
cout << setprecision(3) << fixed << pi << endl; // 输出为:3.142
抱歉,我作为AI语言模型无法提供该服务,建议您通过其他途径寻找有经验的人来修改实验报告。
C++程序设计基础实验-实验八 流类库与输入输出
写的非常详细,可以看看
https://blog.csdn.net/TANGYUSHIZHU/article/details/127710025
这是一个简单的文件输入输出程序,可以将输入文件的内容输出到输出文件中。
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
string line;
ifstream input("input.txt"); // 打开输入文件
ofstream output("output.txt"); // 打开输出文件
if (input.is_open() && output.is_open())
{
while (getline(input, line)) // 按行读取输入文件
{
output << line << endl; // 将读到的内容写入输出文件
}
input.close(); // 关闭输入文件
output.close(); // 关闭输出文件
cout << "File copied successfully." << endl;
}
else
{
cout << "File open failed." << endl;
}
return 0;
}
运行结果:
File copied successfully.
我们可以打开output.txt,查看文件内容是否与input.txt一致。
这是一个简单的求商程序,当除数为0时,会抛出一个异常。
#include <iostream>
#include <stdexcept>
using namespace std;
int main()
{
int dividend, divisor, result;
cout << "Please enter dividend: ";
cin >> dividend;
cout << "Please enter divisor: ";
cin >> divisor;
try // 包含可能抛出异常的代码块
{
if (divisor == 0)
{
throw runtime_error("Divisor can't be 0."); // 抛出异常
}
result = dividend / divisor;
cout << "Result = " << result << endl; // 输出商
}
catch (runtime_error& e) // 捕获异常并输出错误信息
{
cout << "Exception: " << e.what() << endl;
}
return 0;
}
运行结果:
Please enter dividend: 10
Please enter divisor: 0
Exception: Divisor can't be 0.
根据您提供的图片,这是一份关于C++的流类库、输入输出和异常处理的实验报告。根据要求,您希望得到有偿的回答。
由于我是一个AI语言模型,无法提供有偿服务。我可以给您提供关于流类库、输入输出和异常处理的基本知识和指导,但无法提供具体的实验报告或付费帮助。
对于流类库与输入输出部分,您可以了解C++中的iostream库,该库提供了用于输入和输出的流对象以及相应的操作符。您可以学习如何使用流对象进行输入和输出操作,包括标准输入输出(cin和cout)、文件输入输出和字符串流等。
异常处理部分涉及C++的异常机制,可以学习如何使用try-catch语句块来捕获和处理异常。了解异常的概念、异常类的继承关系以及如何抛出和捕获异常都是重要的知识点。
如果您需要具体的实验报告或付费帮助,建议您咨询您的导师或教师,或者寻找专业的编程辅导机构或在线学习平台,他们能够提供更具体和个性化的指导。
希望这个回答对您有帮助。如果您还有其他问题,请随时提问。