首页 > 代码库 > 第3章 C++ I/O流技术
第3章 C++ I/O流技术
/* 第3章 C++ I/O流技术 3.1 I/O流类 3.2 标准输入输出 3.3 文件输入输出 3.4 流的格式控制 3.5 本章小结*/// 第3章 C++ I/O流技术// 3.1 I/O流类 ------------------------------------------------------------------------------------------// 3.2 标准输入输出 ------------------------------------------------------------------------------------------// 35#include <iostream>int main(void){ int i, j; std::cout << "请输入两个整数:\n"; std::cin >> i; std::cin >> j; std::cout << "两整数之和等于:\n"; std::cout << i + j; return 0;}// 35-36#include <iostream>using namespace std;int main(void){ int i, j; cout << "请输入两个整数" << endl; cin >> i >> j; cout << "两整数之和等于" << endl; cout << i + j << endl; return 0;}// 3.3 文件输入输出 ------------------------------------------------------------------------------------------// 37 ,如无文件,会自动创建#include <fstream>#include <iostream>using namespace std;int main(void){ ofstream wFileStream; wFileStream.open("x:\\水果.txt", ios::out | ios::app); if(!wFileStream) { cout << "打开文件失败" << endl; return 1; } wFileStream << "apple" << ‘ ‘ << "苹果" << endl; wFileStream << "banana" << ‘ ‘ << "香蕉" << endl; wFileStream << "grape" << ‘ ‘ << "葡萄" << endl; wFileStream.close(); return 0;}// 36-37,如无文件,会显示打开文件失败。#include <fstream>#include <iostream>using namespace std;int main(void){ ifstream rFileStream; rFileStream.open("d:\\水果.txt", ios::in); if(!rFileStream) { cout << "打开文件失败" << endl; return 1; } //读文件 char eName[10], cName[10]; rFileStream >> eName >> cName; cout << eName << ‘ ‘ << cName << endl; rFileStream >> eName >> cName; cout << eName << ‘ ‘ << cName << endl; rFileStream >> eName >> cName; cout << eName << ‘ ‘ << cName << endl; rFileStream.close(); return 0;}// 38#include <fstream>#include <iostream>using namespace std;int main(void){ ifstream rFileStream; rFileStream.open("d:\\水果.txt", ios::in | ios::binary); if(!rFileStream) { cout << "打开文件失败" << endl; return 1; } char c; while(!rFileStream.eof()) { rFileStream.get(c); cout << c; } rFileStream.close(); return 0;}// 39#include <fstream>#include <iostream>using namespace std;struct Student{ char name[8]; int year;};int main(void){ Student st; strcpy(st.name, "宋公明"); st.year = 18; // ofstream wFileStream; wFileStream.open("d:\\student.txt", ios::out | ios::binary); if(!wFileStream) { cout << "打开文件失败" << endl; return 1; } wFileStream.write(reinterpret_cast < char * > (&st), sizeof(Student)); wFileStream.close(); // ifstream rFileStream; rFileStream.open("d:\\student.txt", ios::in | ios::binary); rFileStream.read(reinterpret_cast < char * > (&st), sizeof(Student)); cout << st.name << " " << st.year << endl; rFileStream.close(); return 0;}// 39-40#include <fstream>#include <iostream>using namespace std;int main(void){ ifstream rFileStream; rFileStream.open("d:\\水果.txt", ios::in); if(!rFileStream) { cout << "打开文件失败" << endl; return 1; } char str[30]; rFileStream.getline(str, 30); cout << str; rFileStream.close(); return 0;}// 40#include <fstream>#include <iostream>using namespace std;int main(void){ fstream rwFileStream; rwFileStream.open("d:\\digit.txt", ios::in | ios::out | ios::binary | ios ::trunc); if(!rwFileStream) { cout << "打开文件失败" << endl; return 1; } for(char i = 0; i < 26; i++) rwFileStream << char(‘a‘ + i); //写入26个字母 // rwFileStream.seekg(3, ios::beg); //定位到第3个字母处(从0索引) char c; rwFileStream.get(c); cout << c << endl; //打印出字符d rwFileStream.close(); return 0;}// 3.4 流的格式控制 ------------------------------------------------------------------------------------------// 42#include <iostream>using namespace std;int main(void){ cout.setf(ios::scientific | ios::uppercase); cout << 2006.5 << endl; // cout.setf(ios::floatfield, ios::fixed | ios::showpos); cout << 2006.5 << endl; // cout.setf(ios::showpos); cout << 2006.5 << endl; return 0;}//43#include <iostream>using namespace std;int main(void){ cout.width(20); cout << "hello" << endl; //右对齐输出hello,占20个字符 // cout.precision(4); cout << 2006.526 << endl; //输出2007 // cout.precision(5); cout << 2006.526 << endl; //输出2006.5 // cout.precision(7); // 设置有效位数 cout << 2006.526 << endl; //输出2006.526 // cout.width(20); cout.fill(‘*‘); cout << "baby" << endl; //输出**************baby return 0;}// 44-45#include <iostream>#include <iomanip>using namespace std;int main(void){ cout << setw(20) << "hello" << endl; cout << setprecision(4) << 2006.526 << endl; cout << setw(20) << setfill(‘*‘) << "baby" << endl; cout << scientific << 300.89 << endl; cout << oct << 9 << endl; cout << dec << showpos << 172 << endl; cout << noshowpos << 172 << endl; cout << boolalpha << true << endl; return 0;}// my test 。主要是为了测试浮点数的输出格式#include <iostream>//#include <iomanip>using namespace std;int main(void){ double d(3.141592653589); cout << d << endl; // 默认精度是六位有效数字 cout.precision(20); // 设置有效位数20位 cout << d << endl; cout.precision(3); // 保留三位小数 cout << fixed << d << endl; // fixed,浮点数以小数形式输出。有四舍五入功能 return 0;}// 3.5 本章小结 ------------------------------------------------------------------------------------------
TOP
第3章 C++ I/O流技术
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。