1. 程式人生 > >做幾個 有關檔案讀寫的練習

做幾個 有關檔案讀寫的練習

    一直沒有用C做過這方面的練習,抽空做做,順便記錄下來<^_^>!

環境:Vim + gcc, windows 7。

No.1

#include <stdio.h>

/* 請從命令列執行.
 * 此程式從 FILE1 讀取字元寫入 FILE2.
 * 方法嘛,就是讀一個char寫一個char唄<^_^>.
 * 檔名由 命令列引數輸入:
 *     C:\>application fileName1 fileName2
 * FILE1 必須存在,FILE2 可以不存在,執行時自動建立.
 * 如果FILE2 已存在,會被覆蓋掉.
 *   (友情提示:注意儲存重要的檔案, 別被"蓋"了!)
 * */
//Application start
int main(int argc, char *argv[])
{
    FILE *fRead = fopen(argv[1], "r");// fRead 指向 FILE1 , 用於讀取.
    if (fRead == NULL)
    {
        //FILE1 開啟失敗?返回 -1.
        puts("Can't open file.");
        return -1;
    }
    FILE *fWrite = fopen(argv[2], "w");// fWrite 指向 FILE2, 用於寫入.
    if (fWrite == NULL)
    {
        // FILE2 的檔名你輸入了沒?
        puts("No file to write in.");
        return -2;
    }
    char ch;//用於讀寫的臨時變數.
    long charCount = 0;//計數器,複製的字元數. long 不知道夠不夠大.

    printf("  Copy File 1: %s\n    To File 2: %s\n", argv[1], argv[2]);
    puts("Copying......");
    //好了,開始工作了.
    while ((ch = getc(fRead)) != EOF)
    {
        putc(ch, fWrite);
        charCount++;
    }
    //關閉檔案.
    fclose(fRead);
    fclose(fWrite);

    printf(" %d chars wrote in.", charCount);

    getch();
    return 0;
}


NULL??? 原來忘了檢查FILE2了,呵呵

但是,這寫到哪去了呢???

嗯,還是檢查的好啊。嗯

Oh!Yes

【2012-3-8 11:14】

         待續......

相關推薦

有關檔案練習

    一直沒有用C做過這方面的練習,抽空做做,順便記錄下來<^_^>! 環境:Vim + gcc, windows 7。 No.1 #include <stdio.h> /* 請從命令列執行. * 此程式從 FILE1 讀取字元寫入 FILE

1、python檔案練習

今天學習了python的檔案讀寫功能,練習一下。 '''    功能:將日誌的內容按照相機ID進行分組顯示      時間:2016-05-26 ''' #開啟原日誌檔案 fp = open(r'log.txt') #建立新檔案用於存放日誌整理後的結果 fs = open

Qt操作多Sqlite資料庫和檔案

摘要: Qt自帶了sqlite的驅動,也有各種檔案的讀寫操作,用起來很是方便,這裡僅僅是做了一個簡單的封裝,方便多個數據庫和多個檔案的操作。 用到這塊的時候網上搜了很多參考資料,感謝大家的無私分享,這裡把搜後整理的結果分享給大家,對無私分享的廣

地方同時向一個檔案的互斥問題解決方案

場景:多個地方同時向一個檔案讀寫據,如何保持操作互斥性,即一次只能一個操作(比如讀或寫)進行。 我們希望在一個執行緒在操作某個檔案的時候,其他執行緒不能對該檔案進行讀或寫操作,要怎麼才能實現呢?利用java提供的synchronized似乎無法完成,因為每個執行緒是在程

檔案操作的種模式

r代表read的簡寫,+代表可讀可寫,w代表write,b代表bit二進位制位,t代表text。 r 開啟只讀檔案,該檔案必須存在。 r+ 開啟可讀可寫的檔案,該檔案必須存在(這裡的寫檔案是指將之前的檔案覆蓋。 rt 開啟只讀文字檔案,該文字必須存在。

iOS --- 關於SandBox機制及檔案種方式

iOS中的SandBox(沙盒)機制是一種安全體系,它規定了APP只能在為該APP建立的資料夾內讀取檔案,不可以訪問其他地方的內容。所有的非程式碼檔案都儲存在這個地方,比如圖片、聲音、屬性列表和文字檔案等。即: 每個應用程式都在自己的沙盒內 不能隨意跨越自己

python 檔案5例項

在部落格(python本地資料獲取   網址:http://blog.csdn.net/sxingming/article/details/51333663)中,我們詳細介紹了python中檔案讀寫的各種方法。 本文通過5個具體例子,示例一下檔案的讀寫操作。 1》將檔

C++檔案之獲取檔案大小的種常見的方式

對檔案操作時有時獲得檔案的大小時必要的.下面是獲得其大小小的較簡單方法. #include<io.h> //C語言標頭檔案 #include<iostream> //for s

PGM格式影象檔案

        private int mWidth;         private int mLength;         private int mColor;

Java 之 檔案及效能比較總結

Java 之 檔案讀寫及效能比較總結 2014年05月12日 17:56:49 閱讀數:21765  幹Java這麼久,一直在做WEB相關的專案,一些基礎類差不多都已經忘記。經常想得撿起,但總是因為一些原因,不能如願。 其實不是沒有時間,只是有些時候疲於總結,今得空,下定決心

json.dump json.load與檔案操作

一.寫檔案 info={"name":"李小龍",'age':66,'love':"cat"} fp=open('testdict1.txt','w+',encoding='utf-8') fp.write(info) ls=list('1234567890') # print(ls) f

C檔案函式

fopen() 函式原型 函式原型:FILE * fopen(const char * path, const char * mode); FILE *fp ; fp = fopen("D:\\a.txt","r"); \\是一種轉義字元,他表示一個\,就像\n表示回車一樣,即

NOIP複賽複習(三)檔案與數論模板

檔案讀入讀出 假設題目名為“add”,那麼資料夾名為“add”,c++程式名為“add.cpp”,讀入檔名為“add.in”,輸出檔名為“add.out”。四個的拼寫均不可有誤,包括大小寫差異。千萬不要除錯後就忘記修改檔案讀入讀出了。  #include<cstdio&

C/C++檔案操作 —— windowsAPI

轉自:http://blog.sina.com.cn/s/blog_6e7fed390100z0j1.html 基於C的檔案操作 在ANSI C中,對檔案的操作分為兩種方式,即流式檔案操作和I/O檔案操作,下面就分別介紹之。 一、流式檔案操作 這種方式的檔案操作有一個重要的結構

Python基本語法之文字檔案

  檔案讀寫相關係統函式說明 系統函式 說明 input(tips); 提示使用者輸入資訊,例如 str = input("Please input your ip:") 將輸入的資訊賦值給變數

HDFS檔案操作 (通俗易懂)

首先來介紹兩個概念 ▪NameNode:領導級別。管 NameNode:領導級別。管理資料塊對映;處理客戶端的讀寫請求;配置副本策略;管理HDFS的名稱空間; DataNode:員工級別。負責儲存客戶端發來的資料塊block;執行資料塊的讀寫操作。 理資料 寫詳細步驟: 1、首先

python學習(四)檔案

三種模式介紹:#r只讀模式,預設的,未指定模式時為只讀 r 開啟檔案不存在的話,會報錯 ; r+ 讀寫模式 #寫模式 w 會將原來檔案中的內容清空 開啟檔案不存在的話,會新建一個檔案 w+ 寫讀模式,雖然能讀,但是因為把檔案內容清空了,讀到的就是空 #追加模式 a+ 追加讀模式

沉澱再出發:java的檔案

沉澱再出發:java的檔案讀寫 一、前言   對於java的檔案讀寫是我們必須使用的一項基本技能,因此瞭解其中的原理,位元組流和字元流的本質有著重要的意義。 二、java中的I/O操作  2.1、檔案讀寫的本質    概念框架: 1 方式

unity3d本地檔案

 今天要做一個移動平臺的版本控制,先做一個前期的工作,就是從伺服器端載入資源,然後讀取到本地,再從本地讀取資源。這裡就以pc平臺為例,移動平臺也是一樣,就是稍微做一點路徑上的修改, 下面是不同平臺路徑的預編譯:   view sou

React Native檔案操作

最近公司專案要求進行定時上傳位置資訊,及埋點,因為使用的是RN開發,一開始就是想到在Android和Ios原生裡進行操作。 在原生裡面實現了定時任務,Android裡面使用的是broadcastReceive + service + timer實現了。 現在需要生成一個日誌檔案,一開始想在原生裡面進