C與C++的檔案操作
C語言的檔案操作
通過定義兩個檔案型別的指標, 利用C庫的檔案操作函式,(fopen,,)對檔案進行開啟、關閉、讀寫操作
然後利用getc一次從輸入流stdin讀取一個字元,putc再把這個字元寫到輸出流stdout
最後進行end of file檢測
#include<stdio.h>
#include<stdlib.h>
int main (int argc, char* argv[])
{
FILE *in, *out;
int ch;
if(argc != 3)
{
fprintf(stderr, "請輸入格式:copyfile sourcefile dircfile \n" );
exit(EXIT_FAILURE);
}
if( (in = fopen(argv[1],"rb")) == NULL) //可讀的二進位制檔案
{
fprintf(stderr, "開啟檔案失敗 %s\n", argv[1] );
exit(EXIT_FAILURE);
}
if((out =fopen(argv[2],"wb")) == NULL)
{
fprintf(stderr, "開啟檔案失敗 %s\n", argv[2] );
fclose(in);
exit (EXIT_FAILURE);
}
while(ch = getc(in) != EOF)
{
if(putc(ch,out) == EOF)
{
break;
}
}
if(ferror(in))
printf("讀取檔案%s 失敗\n",argv[1] );
if(ferror(out))
printf("讀取檔案%s 失敗\n",argv[2] );
printf("successful copy file");
return 0;
}
// cmd終端下執行 file.exe source.exe dir.exe
C++檔案操作
C++通過 ifstream ofstream 類,定義物件,呼叫相應的方法就可以實現同樣的功能。
#include <fstream>
#include <iostream>
using namespace std;
int main(int argc ,char* argv[])
{
ifstream in; //檔案輸入流物件
ofstream out; //檔案輸出流物件
//或者使用建構函式 ofstream out("test.txt");
//寫操作
out.open("test.txt");
if(!out)
{
cout<<"open file failed"<<endl;
return 0;
}
for(int i=0;i<10;i++)
{
out<<i; //資料流出到out物件的檔案
}
out<<endl;
out.close();
//讀操作
in.open("test.txt");
if(!in)
{
cout<<"open file failed"<<endl;
return 0;
}
char ch;
while(in >> ch) //把檔案流入ch
{
cout << ch; //再流出到終端
}
in.close();
return 0;
}
ofstream out(“test.txt”, ios::app);
ios::in 可讀
ios::out 可寫
ios::binary 以二進位制形式開啟
ios::app 寫入的資料將追加到檔案末尾
ios::trunk 刪除檔案原來已存在的內容
ios::nocreat 如果不存在將無法開啟
ios::noreplece 如果不存在 試圖用open開啟將返回一個錯誤。
相關推薦
C語言檔案操作與Python檔案操作的比較
無論是在C語言中還是在Python中,對檔案的操作都是直接實現了計算機內部與外部之間的互動; 通過將資料寫入檔案可以更好地實現資料的儲存,而不會在程式結束之後資料隨之消失, 而通過檔案的讀取操作則可以更好地避免自己講大量資料的手動輸入程式。 本篇文章主要介紹C語言以
C與C++簡單檔案操作比較
為了更加深刻地理解C與C++對檔案操作,本文以一個簡單的檔案讀寫操作為例項(分別含C和C++源程式),來簡單分析一下C與C++在檔案操作上的區別。首先,從標頭檔案的角度出發:對於C++,其最大的特點是引入了“類”的概念,所以對檔案的操作首先就要含有檔案流的類的函式的標頭檔案
C語言常用檔案操作函式fprinf/fscanf與fwrite/fread
fprintf是將資料轉換為字元後再寫入檔案 fwrite是將資料不經轉換直接以二進位制的形式寫入檔案 一、fprintf函式。 fprintf(fp, "%d", buffer); 是將格式化的資料寫入檔案 fprintf(檔案指標,格式字串,輸出表列); 1.
C與C++的檔案操作
C語言的檔案操作 通過定義兩個檔案型別的指標, 利用C庫的檔案操作函式,(fopen,,)對檔案進行開啟、關閉、讀寫操作 然後利用getc一次從輸入流stdin讀取一個字元,putc再把這個字元寫到
C語言(四 檔案操作、遞迴)
檔案讀寫 我們用**fopen()**來新建一個檔案或開啟一個已有的檔案. 函式原型為File *fopen(const char *filename , const char *mode) filename是檔名,mode代表訪問方式。 mode
C語言之檔案操作
一、開啟檔案 1、函式 fopen(path, type) 2、引數介紹 引數 型別 說明 備註 path 字串 檔案路徑 如”./h
Linux C高階程式設計——檔案操作之庫函式
Linux C高階程式設計——檔案操作之庫函式 宗旨:技術的學習是有限的,分享的精神是無限的 ——為什麼要設計標準I/O庫? 直接使用API進行檔案訪問時,需要考慮許多細節問題 例如:read、write時,緩衝區的大小該如何確定,才能使效率最優 標準I/O庫封裝了諸多
Linux C高階程式設計——檔案操作之系統呼叫
Linux C高階程式設計檔案操作之系統呼叫 宗旨:技術的學習是有限的,分享的精神是無限的! 庫函式是一些完成特定功能的函式,一般由某個標準組織製作釋出,並形成一定的標準。使用庫函式編寫的函式一般可以應用於不同的平臺而不需要做任何修改,具有很好的可移植
C++讀寫檔案操作
原文來自:http://blog.csdn.net/study16/article/details/5879428 來源:http://www.javaeye.com/topic/383903 讀 《C++ Primer Plus》第17章4-7節 一 頭
C++簡單的檔案操作
背景 專案中需要接收週期性(0.625ms)資料(128Bytes),並將資料儲存、解析,之後需要將其以曲線的形式繪製出來。128位元組資料需要解析出60項引數。 方案 原方案: 接收128位元組資料後,先進行解析,將解析後的引數項以字元文字形式儲存在.txt中,同時繪製實時引數
C#與excel互操作 C#與excel互操作的錯誤無法將型別為“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 物件強制 如果您使用的電腦
C#與excel互操作的錯誤無法將型別為“Microsoft.Office.Interop.Excel.ApplicationClass”的 COM 物件強制 如果您使用的電腦要操作的是office2003而之前使用過office2007使用此方法可解決您的問題 無法將型別為“Microsoft.Office
C讀寫檔案操作總結
FILE *fopen( const char *filename, const char *mode ); 一、對已經存在的檔案進行讀寫 mode: “r”—— Opens for reading. “r+”—- Opens for
C語言,檔案操作詳解
在 C 語言中,檔案操作的函式大多包含在 標頭檔案中,使用時記得 #include。 一、開啟和關閉檔案 1. 開啟檔案 FILE * fopen ( const char * filename, const char * mode ); 開啟一個檔案,成功則返回
C語言中檔案操作函式彙總
#include <stdio.h> #include <stdlib.h> int main() { FILE* fd = fopen("test.txt","r"); if(NULL == fd)//檔案開啟失敗 { perror("fope
C#與Sqlite資料庫操作例項
這是一個有關分頁的例項,僅供參考(程式碼來自網路) using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Dr
C流式檔案操作
關鍵字: 普通檔案、裝置檔案; 檔案檔案、二進位制檔案; 流式檔案 FILE *、 字元讀寫、串讀寫、塊讀寫、格式化讀寫。 換行符,EOF,串結束符 隨機讀寫 檔案的基本概念 所謂"檔案"是指一組相關資料的有序集合。檔案通常是駐留在外部介質(如磁碟等)上的, 在使
標準C轉C#對應,C++與C#互操作
DWORD-》UInt32WORD-》ushort函式原型 C++中 //函式功能:測試 //引數: char* testIn1[IN] -- 測
C與C++混合程式設計問題:.C++呼叫.C檔案時出現:undefined reference to `xxxxx()'
本人使用qt的介面和opengl功能模擬演算法,該演算法需要在嵌入式中執行,因此需要用純C編寫,此時涉及到在C++寫的qt介面檔案中呼叫C檔案的庫函式,原先以為只需在C++中把C的.h檔案包含進去就可以正常使用,後來發現,使用這種方法時,在程式碼編寫時,C++檔案裡可以直接連
Linux下C程式設計-----IO/檔案操作/記憶體對映 實現簡單記錄儲存(3)
利用linux下的檔案記憶體對映可以實現程序共享資料,我們可以把一個檔案對映到虛擬記憶體中使多個程序進行共享, 到這裡我們大概能想到他能應用到的領域 是很廣泛的 主要涉及到 mmap munmap msync 三個函式的應用 下面貼程式碼 下面一段程式碼是為檔案
extern "c"用法 extern "C"與.def檔案的作用
引言 C++保留了一部分過程式語言的特點,因而它可以定義不屬於任何類的全域性變數和函式。但是,C++畢竟是一種面向物件的程式設計語言,為了支援函式的過載,C++對全域性函式的處理方式與C有明顯的不同。extern "C"的主要作用就是為了能夠正確實現C++程式碼呼叫其他C