c++的ifstream和ofstream讀寫類物件
#include <iostream> #include <fstream> #include <string> using namespace std; class Student { public: //有元宣告最後放在public裡面,不知道為啥 friend istream& operator>>(istream&is, Student&st); friend ostream& operator<<(ostream&os, const Student&st); Student() = default; Student(string na, int sc) { name = na; score = sc; } ~Student() = default; private: string name; int score; }; istream& operator>>(istream&is, Student&st)//ifstream是isream的子類,也能作為函式的引數 { is >> st.name; is>>st.score; return is; } ostream& operator<<(ostream&os, const Student&st)//ofstream是osream的子類,也能作為函式的引數 { os << st.name << " " << st.score << endl; return os; } int main() { ////二進位制檔案操作 //寫檔案 //ofstream fout("student.dat",ios::binary);//能自動建立檔案 //Student s1("李明",100); //fout.write((char*)&s1,sizeof(s1)); //fout.flush(); //fout.close(); //讀檔案 //ifstream fin("student.dat",ios::binary); //Student s2; //fin.read((char*)&s2, sizeof(s2)); //fin.close(); ////文字檔案操作 //寫檔案 ofstream fout("student.txt");//能自動建立檔案 Student s1("李明", 100); fout << s1; fout.flush(); fout.close(); //讀檔案 ifstream fin("student.txt"); Student s2; fin >> s2; fin.close(); return 0; } C++的ifstream和ofstream讀寫二進位制檔案只能用read和write函式嗎? 用<<和>>即使指定了binary方式,也不能讀寫二進位制檔案
相關推薦
c++的ifstream和ofstream讀寫類物件
#include <iostream> #include <fstream> #include <string> using namespace std; class Student { public: //有元宣告最後放在publi
C++ 使用ifstream和ofstream儲存包含string型別的類時出現程式中斷
閒話少說,先看一段簡單的程式碼 #include <iostream> #include <string> #include <vector> #include <fstream> #include <sstream> #pragm
C++ ifstream,ofstream讀寫二進位制檔案
為什要吧資料存為二進位制這個嘛,是我個人習慣,一般,我們會把日誌檔案存為文字檔案。資料檔案存成二進位制檔案。其實,我們接觸的檔案,比如影象、視訊都是以二進位制的形式儲存的,要想檢視這類資料,必須知道資料是如何儲存的。不管你的資料型別是什麼,以二進位制形式儲存的時候,都可以把它
javaFile類和IO輸入輸出流中隨機讀寫類RandomAccessFile類的講解
今天來複習一下IO流的api, 在java中用io流來進行檔案的輸出和輸出操作,那麼首先類講解一下什麼是輸入和輸出: 所有往記憶體中送資料都是輸入 所有從記憶體出資料都是輸出 能用java.io包中的api操作的輸入輸出: 記憶體–>外存(硬碟,光碟,U盤) 本地流輸出
c++中使用指標呼叫函式和使用指標呼叫類物件的()過載函式
使用函式指標時,指標可以像函式名一樣,直接加括號和引數列表呼叫;也可先解引用再呼叫 //include directories... using namespace std; void testFun() { cout<<"this is
C++用new和不用new建立類物件區別
new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以,new有時候又不太適合,比如在頻繁呼叫場合,使用區域性new類物件就不是個好選擇,使用全域性類物件或一個經過初始化的全域性類指標似乎更加高效。 一、new建立類物件與不new區別 下面是自
【C++】C++用new和不用new建立類物件區別
起初剛學C++時,很不習慣用new,後來看老外的程式,發現幾乎都是使用new,想一想區別也不是太大,但是在大一點的專案設計中,有時候不使用new的確會帶來很多問題。 當然這都是跟new的用法有關的。new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以
C++ 物件和例項的區別,以及用new和不用new建立類物件區別
起初剛學C++時,很不習慣用new,後來看老外的程式,發現幾乎都是使用new,想一想區別也不是太大,但是在大一點的專案設計中,有時候不使用new的確會帶來很多問題。當然這都是跟new的用法有關的。new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以,n
C# 判斷檔案是否存在和檔案讀寫
一、檔案是否存在 c#中操作IO非常簡單,下面介紹如何判斷資料夾或檔案是否存在的方法。 程式碼如下: //判斷資料夾是否存在,不存在則建立資料夾 if (!System.IO.Directory.Exists(@"E:\Files")) { System.IO.D
C++用new和不用new建立類物件的區別
起初剛學C++時,很不習慣用new,後來看老外的程式,發現幾乎都是使用new,想一想區別也不是太大,但是在大一點的專案設計中,有時候不使用new的確會帶來很多問題。當然這都是跟new的用法有關的。new建立類物件,使用完後需使用delete刪除,跟申請記憶
c語言中格式化讀寫函式fscanf()和fprintf()
fscanf():從指定檔案中按指定格式讀入資料,並賦值給相應的變數 格式: fscanf(檔案指標,格式字串,輸出列表) e.g. fscanf(fp,"%d",&i) fscanf(fp,"%d %d",&
C++語言之用new和不用new建立類物件區別
起初剛學C++時,很不習慣用new,後來看老外的程式,發現幾乎都是使用new,想一想區別也不是太大,但是在大一點的專案設計中,有時候不使用new的確會帶來很多問題。當然這都是跟new的用法有關的。new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以,new有時候又不太適合,比如在頻繁呼
C++用new和不用new建立類物件
1,new建立類物件,使用完後需使用delete刪除,跟申請記憶體類似。所以,new有時候又不太適合,比如在頻繁呼叫場合,使用區域性new類物件就不是個好選擇,使用全域性類物件或一個經過初始化的全域性類指標似乎更加高效。 2,非new建立類物件,建立方式,new物件指標作為
C 文件隨機讀寫
stop eat 取出 指針 偏移 inpu fopen oid ont 1 #include <stdio.h> 2 #include <stdlib.h> 3 4 void eatline(){ 5 while(getc
python_py2和py3讀寫文本區別
nbsp 編碼格式 需要 指定 nic 解碼 py3 bytes 寫入文件 python2和python3的區別? python 2 str 對應 python3 bytes python 2 uincod
C#創建、讀寫、增加、刪除XML操作
sch list sys 執行 參數 con out {0} return using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Thre
[Linux流操作]使用gets和puts讀寫流
linux流//使用fgets從標準輸入讀入一行數據 //然後使用fputs送標準輸出顯示 #include <stdio.h> #include <stdlib.h> #define MAXLINE 4096 //定義一行的最大字符長度 int main(int argc,
C# 中 NPOI 庫讀寫 Excel 文件的方法【摘】
prot case enter this num ack npoi 工作薄 解鎖 原作:淡水網誌 NPOI 是開源的 POI 項目的.NET版,可以用來讀寫Excel,Word,PPT文件。在處理Excel文件上,NPOI 可以同時兼容 xls 和 xlsx。官網提供了一份
fread和fwrite和feof讀寫二進制文件
name std 文本文件 數據 () write void tdi post #include <stdio.h> #include <stdlib.h> void text_to_bin(char *argv[]); void bin_to_
關於c++對文件讀寫的封裝
hfile value val style urn 兩種 pat pos write 1 namespace 2 { 3 UINT_T GetWriteSizeForNoBuf(UINT_T fsize) 4 { 5