C++语言程序设计 (郑莉)第十一章 流类库与输入/输出














cpp 复制代码
#include <iostream>
using namespace std;
int main() {
	double values[] = { 1,23,35.36,653.7,4358.24 };
	for (int i = 0; i < 4; i++) {
		cout.width(10);
		cout << values[i] << endl;
	}
	return 0;
}
cpp 复制代码
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

int main() {
	double values[] = { 1.23,35.36,653.7,4358.24 };
	string names[] = { "Zoot","Jimmy","AI","Stan" };
	for (int i = 0; i < 4; i++) {
		cout << setw(6) << names[i] << setw(10) << values[i] << endl;
	}
	return 0;
}
cpp 复制代码
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

int main() {
	double values[] = { 1.23,35.36,653.7,4358.24 };
	string names[] = { "Zoot","Jimmy","AI","Stan" };
	for (int i = 0; i < 4; i++) {
		cout << setiosflags(ios_base::left) << setw(6) << names[i]
			<< resetiosflags(ios_base::left) << setw(10) << values[i] << endl;
	}
	return 0;
}



cpp 复制代码
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;

int main() {
	double values[] = { 1.23,35.36,653.7,4358.24 };
	string names[] = { "Zoot","Jimmy","AI","Stan" };
	//cout << setiosflags(ios_base::fixed);
	//cout << setiosflags(ios_base::scientific);
	for (int i = 0; i < 4; i++) {
		cout << setiosflags(ios_base::left) << setw(6) << names[i]
			<< resetiosflags(ios_base::left) << setw(10) << setprecision(1) << values[i] << endl;
	}
	return 0;
}


cpp 复制代码
#include <iostream>
#include <fstream>
using namespace std;
struct Date {
	int mon, day, year;
};
int main() {
	Date dt = { 6,10,92 };
	ofstream file("data.dat", ios_base::binary);
	file.write(reinterpret_cast<char*>(&dt), sizeof(dt));
	file.close();
	return 0;
}


cpp 复制代码
#include <iostream>
#include <sstream>
#include <string>
using namespace std;
template <class T>
inline string toString(const T& v) {
	ostringstream os;
	os << v;
	return os.str();
}

int main() {
	string str1 = toString(5);
	cout << str1 << endl;
	string str2 = toString(1.2);
	cout << str2 << endl;
	return 0;
}






cpp 复制代码
#include <iostream>
using namespace std;
int main() {
	char ch;
	while ((ch = cin.get()) != EOF) {
		cout.put(ch);
	}
	return 0;
}
cpp 复制代码
#include <iostream>
#include <string>
using namespace std;
int main() {
	string line;
	cout << "Type a line terminated by '\t'" << endl;
	getline(cin, line, '\t');
	cout << line << endl;
	return 0;
}
cpp 复制代码
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
struct SalaryInfo {
	unsigned id;
	double salary;
};
int main() {
	SalaryInfo employee1 = { 600001,8000 };
	ofstream os("payroll", ios_base::out | ios_base::binary);
	os.write(reinterpret_cast<char*>(&employee1), sizeof(employee1));
	os.close();
	ifstream is("payroll", ios_base::in | ios_base::binary);
	if (is) {
		SalaryInfo employee2;
		is.read(reinterpret_cast<char*>(&employee2), sizeof(employee2));
		cout << employee2.id << " " << employee2.salary << endl;
	}
	else {
		cout << "ERROR:Cannot open file 'payroll'." << endl;
	}
	is.close();
	return 0;
}
cpp 复制代码
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main() {
	int values[] = { 3,7,0,5,4 };
	ofstream os("integers", ios_base::out | ios_base::binary);
	os.write(reinterpret_cast<char*>(values), sizeof(values));
	os.close();
	ifstream is("integers", ios_base::in | ios_base::binary);
	if (is) {
		is.seekg(3 * sizeof(int));
		int v;
		is.read(reinterpret_cast<char*>(&v), sizeof(v));
		cout << "The 4th integers in the file 'integers' is" << v << endl;
	}
	else {
		cout << "ERROR:Cannot open file 'integers'." << endl;
	}
	return 0;
}
cpp 复制代码
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
int main() {
	ifstream file("integers", ios_base::in | ios_base::binary);
	if (file) {
		while (file) {
			streampos here = file.tellg();
			int v;
			file.read(reinterpret_cast<char*>(&v), sizeof(int));
			if (file && v == 0) {
				cout << "Position" << here << "is 0" << endl;
			}
		}
	}
	else {
		cout << "ERROR:Cannot open file 'integers'." << endl;
	}
	file.close();
	return 0;
}


cpp 复制代码
#include <iostream>
#include <fstream>
#include <cstring>
#include <sstream>
using namespace std;
template <class T>
inline T fromString(const string& str) {
	istringstream is(str);
	T v;
	is >> v;
	return v;
}

int main() {
	int v1 = fromString<int>("5");
	cout << v1 << endl;
	double v2 = fromString<double>("1.2");
	cout << v2 << endl;
	return 0;
}




相关推荐
z落落39 分钟前
C# WinForm Socket 转串口设备服务器+Modbus CRC16校验+Socket 客户端
服务器·开发语言·c#
小灰灰搞电子6 小时前
Rust+Slint 实现动态消息提示框源码分享
开发语言·后端·rust
神仙别闹7 小时前
基于 C++ 实现两个有序链表序列的交集
java·c++·链表
传奇开心果编程8 小时前
【Rust入门知识点学与练】第21课:Trait 进阶 Advanced Traits
开发语言·学习·rust
新时代牛马8 小时前
字符设备驱动完整篇:从 cdev_add、file_operations 到chrdev_open 与排障
开发语言·python
swordbob8 小时前
ReentrantLock 与 AQS 完整学习手册
java·开发语言
白山编程大哥9 小时前
Java OutputStreamWriter 详解:从字符到字节的桥梁
java·开发语言·python
hansang_IR9 小时前
【题解】[APIO2023] 赛博乐园 / cyberland
c++·算法·图论
落羽的落羽10 小时前
【AI】快速理解AI应用的相关名词概念
linux·c++·人工智能·python·计算机网络·算法
刚入门的大一新生10 小时前
Linux-进程控制
linux·运维·服务器·c++