1. 程式人生 > >從C看C++之(八)檔案流操作

從C看C++之(八)檔案流操作

    Linux平臺下提供了標準的C庫API實現對檔案的讀寫操作,同樣C++也提供了自身對檔案流操作的一些手段.雖然不知道以後會不會用到,但是瞭解一下是很有必要的.

原始碼:

#include <iostream>
#include <fstream>

using namespace std;

int main(void)
{       char filename1[256],filename2[256];
        cout<<"Input source file name:  ";
        cin>>filename1;
        cout<<"Input destination file name:  ";
        cin>>filename2;
        ifstream infile(filename1);
        ofstream outfile(filename2);
        char ch;
        while(infile.get(ch))
                outfile.put(ch);
        infile.close();
        outfile.close();

        return 0;
}
    C++中要實現對檔案流的操作,需要包含標頭檔案"include <fstream>".本程式需要把一個檔案裡面的內容複製到另外一個檔案,比如我們有一個已經存在的檔案叫source.txt,裡面有如下內容:
Hello,SE7EN:
	Remember,hope is a good thing!
    編譯執行:
[email protected]:~/learn/Cpp_Program# g++ file.cpp -o file
[email protected]:~/learn/Cpp_Program# ./file 
Input source file name:  source.txt
Input destination file name:  dest.txt
[email protected]
:~/learn/Cpp_Program# cat dest.txt Hello,SE7EN: Remember,hope is a good thing! [email protected]:~/learn/Cpp_Program#


相關推薦

CC()檔案操作

    Linux平臺下提供了標準的C庫API實現對檔案的讀寫操作,同樣C++也提供了自身對檔案流操作的一些手段.雖然不知道以後會不會用到,但是瞭解一下是很有必要的. 原始碼: #include <iostream> #include <fstream&

CC(六)多型

 類似LINUX核心驅動子系統,如下面的示意程式碼: if(fb->open) fb->open();    當我們從更底層對fb->open()進行封裝了的時候,對應的系統呼叫不再是系統預設的,而是呼叫到我們更底層的fb->open.

C++ Primer每日一刷 C 風格字串

4.3 C 風格字串 儘管 C++ 支援 C 風格字串,但不應該在 C++ 程式中使用這個型別。C 風格字串常常帶來許多錯誤,是導致大量安全問題的根源。 在前面我們第一次使用了字串字面值,並

C/C++】回溯經典演算法-->皇后問題

一、八皇后問題 八皇后問題,是一個古老而著名的問題,是回溯演算法的典型案例。該問題是國際西洋棋棋手馬克斯·貝瑟爾於1848年提出:在8×8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線上,問有多少種擺法。高斯認為有76種方案。

Keil C51對C語言的關鍵詞擴充套件: far

far的出現,是Keil 編譯器為了支援新出現的8051家族增強型MCU,這些增強型MCU可能擁有大於64KB的儲存器。使用far可訪問擴充套件的RAM,使用const far可訪問擴充套件的ROM。 NXP 51MX架構51微控制器提供通過通用指標訪問多達8MB的code

C/C++多執行緒程式設計】pthread條件變數

#include #include #include #include #pragma comment(lib, "pthreadVC2.lib") //必須加上這句 pthread_t t1; //pthread_t變數t1,用於獲取執行緒1的ID pthread_t t

彙編c語言函式呼叫

學C語言時,就聽老師說函式呼叫時是通過棧來記錄資訊,又聽說什麼“保留現場”,"恢復現場"一些既聽不懂,也不知道怎麼弄懂的東西。最近正在學習Linux下的彙編,現在就通過一個簡單的例子來展示一下彙編級的函式呼叫,這樣能夠增加大家對C語言的理解。雖然並不是很完善,但是足夠闡明函式

壹開始微服務 [ DDD ] ║剪不斷理還亂的 值物件和Dto

緣起 哈嘍大家週四好,時間是過的真快,這幾天一直忙著在公司的專案,然後帶帶新人,眼看這周要過去了,還是要抽出時間學習學習,這些天看到群裡的小夥伴也都在忙著新學習,還是很開心的,至少當時的初衷已經達到了,一起學習一起進步嘛,哪怕是對現在或者是對以後的工作有一丟丟的幫助,也是不枉此時的努力,哈哈夜裡寫文章總是容

插圖《程式碼整潔道——程式設計師的職業素養》

《程式碼整潔之道——程式設計師的職業素養》是《程式碼整潔之道》的作者Bob大叔的第二部作品,筆者讀完2016年再版的本書後有感而發寫下本文,本書2012年的版本叫《程式設計師的職業素養》。從內容上看

《Python程式設計入門到實踐》記錄讀取檔案

目錄 1、讀取整個檔案 2、檔案路徑 3、逐行讀取檔案 4、建立包含檔案各行內容的列表並使用它 從檔案讀取資料有兩種方式:(1)一次性讀取整個檔案的全部內容;(2)以每次一行的方式逐步讀取。 1、讀取整個檔案 假設有一個文字檔案,包含精確到小數點後30位的圓周率值

C# Stream 和 byte[] 之間的轉換(檔案的應用)

一. 二進位制轉換成圖片 MemoryStream ms = new MemoryStream(bytes); ms.Position = 0; Image img = Image.FromStream(ms); ms.Close(); this.pictureBox1.Image 二. C#

C語言中檔案操作的基本函式總結

#include <stdio.h> int main() { FILE* fp = fopen("data.txt","r"); if(fp == NULL) { printf("open error\n"); return -1;

C++檔案操作

讀取檔案 假如需要按行讀取下列檔案,並且分別通過不同變數讀取路徑以及數字,則可以通過C++流操作 /home/ubuntu/demo.jpg 1 /home/ubuntu/result.jpg 0

C語言檔案操作的二進位制讀寫和定位(fwrite、fread、fseek)

二進位制寫檔案中用到fwrite函式,這個函式對檔案進行寫操作的時候寫進去的資料就是二進位制的資料包括後面的fread函式,進行讀操作的時候也是直接讀二進位制,這也是在對檔案操作時,這兩個函式與fpr

C# 基礎知識系列- 14 IO篇 檔案操作

> 本篇繼續前兩篇內容,跟大家介紹一下Path類以及FileSystemInfo這個類的主要方法和屬性。 > > 上文提到,在《C# 基礎知識系列-IO篇》之檔案相關的內容完結之後,會帶領大家開發一個小工具-快速檢索檔案所在目錄。 ## 1.3. Path Path的中文名稱有路徑的

python學習路---檔案操作

''' 開啟一個檔案需要的步驟 1、需要找到檔案目錄(位置):絕對路徑(從指定位置開始的檔案路徑)、相對路徑(當前目錄下的檔案路徑) 2、確定編碼方式:UTF-8\GBK......(以什麼編碼方式建立的檔案) 3、操作方式:只讀、只寫、追加、讀寫、寫讀...... 注意:以什麼編碼方式儲存的檔案,

python學習七(檔案操作)

檔案的操作要注意路徑的問題,這裡用的都是相對路徑。 # 檔案操作 r:寫模式,w:讀模式,建立新文件覆蓋原來的文件 # f=open('a.txt','r',encoding='utf-8') # # data=f.read() # # print(data) # # 可讀

Java IO普通檔案和隨機讀寫區別

普通檔案流和隨機讀寫流區別 FileInputStream和FileOutputStream FileReader和FileWriter RandomAccessFile 兩者區別:

JavaIO高效檔案複製操作

        最近工作中遇到了大量的檔案複製,使用之前的緩衝流寫檔案,倒是可以,但是效率上會有很大影響,不僅速度慢,而且佔用高,所以,網上搜索了一些方法,加上自己修改了一下,檔案操作的效率有很高的提升,用的是檔案通道對檔案進行操作,也就是通過FileChannel,通過i

HTTP斷點續傳與斷點上傳 -- 檔案操作

不管是下載還是上傳,斷點的時候,就需要對檔案流進行精確的操作。 1、下載斷開了,已經下載的資料儲存到檔案,再次繼續下載的時候需要從檔案的尾巴繼續追加資料; 2、同理上傳也是一樣,http通訊中有可能斷開或者丟包的情況,就需要重傳指定的檔案片; 我封裝的這個