当前位置:网站首页>STL tutorial 4- input / output stream and object serialization
STL tutorial 4- input / output stream and object serialization
2022-06-25 07:41:00 【Sleepy snail】
standard I/O= The standard input + standard output
file I/O= File input + File output
One 、 Standard I / O stream

cout Global object , Has been associated with the display 
cerr There is no buffer ,clog There are buffers ,cin and cout There are also buffers
cin.peek(); Peeping into the buffer , Does not take from the buffer
cin.putback() Use is to use the front get perhaps getline Function to read characters from the input stream ch Return to the input stream , Insert to current pointer position
cout<<flush()// Refresh buffer
cout.put(‘a’).put(‘a’);// Output a character and support chain programming
cout.write(“aaa”,strlen(“aaa”));
Format output
1、 The way member methods 
Code
void test06() {
int number = 10;
// The pattern of member methods
cout.unsetf(ios::dec);// Uninstall the default 10 Binary output mode
cout.setf(ios::oct);// Set to octal output
cout << number<<endl;
cout.setf(ios::showbase);// Show some hidden contents
cout << number<<endl;
cout.unsetf(ios::oct);// Unload octal
cout.setf(ios::hex);// Set to hexadecimal
cout << number << endl;
cout.width(10);// Set bit width
cout.fill('*');// Set content fill
cout << number << endl;
cout.setf(ios::left);// Set left alignment
cout << number << endl;
}
2、 Through the controller
Need to include header file #include 
int number2 = 10;
cout << hex // Set to 16 Base number
<< resetiosflags(ios::showbase)// Set the display symbol bit
<< setw(10)// Set the width to 10
<< setfill('$')// Set the padding to $
<<setiosflags(ios::left)
<< number2
<< endl;
Two 、 File operations
File read
Need to include header file #include < fstream >// File read and write
There are two ways to define file objects ,
1、ifstream ism(filePath,ios::in);
2、ifstream ism;
ism.open(filePath, ios::in);
const char* filePath = "C:\\Users\\admin\\Desktop\\source.txt";
ifstream ism(filePath,ios::in);// Open the file in read-only mode
// Or define an object , Open the file as a member of the object
/*ifstream ism; ism.open(filePath, ios::in);*/
// Here, the object must be overloaded
if (!ism) {
cout << " fail to open file " << endl;
}
// Reading documents Thanks to the establishment of the pipeline
char ch;
while ( ism.get(ch))
{
cout << ch;
}
// Finished closing files
ism.close();
File is written to
Defining the file write object is the same as defining the file read format
ofstream osm(targetPath, ios::out | ios::app); // have only out It's overlay mode , Add the back | ios::app It's the append mode
rearwards osm.put(ch); Add elements to it
void test07() {
const char* filePath = "C:\\Users\\admin\\Desktop\\source.txt";
const char* targetPath = "C:\\Users\\admin\\Desktop\\target.txt";
ifstream ism(filePath,ios::in);// Open the file in read-only mode
ofstream osm(targetPath, ios::out | ios::app); // have only out It's overlay mode , Plus the following is the append mode
// Or define an object , Open the file as a member of the object
/*ifstream ism; ism.open(filePath, ios::in);*/
// Here, the object must be overloaded
if (!ism) {
cout << " fail to open file " << endl;
}
// Reading documents Thanks to the establishment of the pipeline
char ch;
while ( ism.get(ch))
{
cout << ch;
osm.put(ch);
}
// Finished closing files
ism.close();
osm.close();
}
Binary mode read / write
Create a new one Person class take p1 and p2 Write to file p1 and p2 Is stored in binary form , The common text mode reading mentioned above is actually stored in binary form
Even garbled code is stored in binary form window Go to carriage return and line feed /r/n Two symbols are used to mark the end of the line linux Just wrap on as a newline /n sign
Read files in text mode , Will automatically change the /r/n Switch to /n, Writing a file will /n Switch to /r/n
But in linxu It is the same in both text mode and binary mode




summary
Files are stored in binary mode , Even newly created objects in memory are in binary form , Then you can write the object to the file , The difference between opening files in text mode and binary mode is ,window Go to carriage return and line feed /r/n Two symbols are used to mark the end of the line ,linux Just wrap on as a newline /n sign . Read files in text mode , Will automatically change the /r/n Switch to /n, Writing a file will /n Switch to /r/n, But in linux It is the same in both text mode and binary mode
边栏推荐
- 指南针可以开股票账户吗?安全吗?
- 关于硬件问题造成的MCU死机,过来人简单的谈一谈
- Chuantu microelectronics 𞓜 subminiature package isolated half duplex 485 transceiver
- [batch dos-cmd command - summary and summary] - CMD window setting and operation commands (CD, title, mode, color, pause, CHCP, exit)
- ELK + filebeat日志解析、日志入库优化 、logstash过滤器配置属性
- 高数基础_函数的奇偶性
- Runtime——methods成员变量,cache成员变量
- Domestic MCU perfectly replaces STM chip model of Italy France
- Advanced mathematics foundation_ Parity of functions
- Static bit rate (CBR) and dynamic bit rate (VBR)
猜你喜欢

Home environment monitoring system design (PC version) (mobile app version to be determined)

Sichuan Tuwei ca-if1051 can transceiver has passed aec-q100 grade 1 certification

Chuantuwei ca-is3720lw alternative material No. iso7820fdw

Cocos learning diary 3 - API acquisition nodes and components

正版photoshop2022购买体验经历分享

【UVM入門 ===> Episode_9 】~ 寄存器模型、寄存器模型的集成、寄存器模型的常規方法、寄存器模型的應用場景
![Notes: [open class] neural network and deep learning -- tensorflow2.0 actual combat [Chinese course]](/img/ea/3eba7e4a433b0c501f9b207641dc6a.jpg)
Notes: [open class] neural network and deep learning -- tensorflow2.0 actual combat [Chinese course]
![[pytest] modify the logo and parameterization in the allure Report](/img/c0/93519da008ec137c447bb11aa7b73e.png)
[pytest] modify the logo and parameterization in the allure Report

Cocos学习日记3——api获取节点、组件

Sichuan Tuwei ca-is3105w fully integrated DC-DC converter
随机推荐
Several good weather plug-ins
Introduction to Sichuan Tuwei ca-is3082wx isolated rs-485/rs-422 transceiver
Unity3D邪门实现之GUI下拉菜单Dropdown设计无重复项
The perfect presentation of Dao in the metauniverse, and platofarm creates a farm themed metauniverse
Chuantu microelectronics 𞓜 subminiature package isolated half duplex 485 transceiver
Leetcode daily question - 515 Find the maximum value in each tree row
Weimeisi new energy rushes to the scientific innovation board: the annual revenue is 1.7 billion, and the book value of accounts receivable is nearly 400million
Explain distributed raft with dynamic diagram
What is the difference between norflash and nandflash
高考志愿填报,为啥专业最后考虑?
OAuth 2.0一键登录那些事
PI Ziheng embedded: This paper introduces the multi-channel link mode of i.mxrt timer pit and its application in coremark Test Engineering
Introduction to Sichuan Tuwei ca-is3082w isolated rs-485/rs-422 transceiver
无“米”,也能煮“饭”利用“点云智绘”反演机载LiDAR林下缺失地面点攻略
Runtime——methods成员变量,cache成员变量
[batch dos-cmd command - summary and summary] - application startup and call, service and process operation commands (start, call, and)
[Introduction aux uvm== > Episode 9] ~ modèle de registre, intégration du modèle de registre, méthode conventionnelle du modèle de registre, scénario d'application du modèle de registre
NSIS 静默安装vs2013运行时
鸿蒙页面菜单的选择
Harmony美食菜单界面