Syntaxhighlighter

2010年10月16日 星期六

寫入與讀出檔案

這篇介紹一下檔案寫入與讀出的函式,


有關的函式
char getc(FILE*)
char fgetc(FILE*)
fscanf(FILE*,與scanf格式相同)
int putc(int,FILE*)
int fputs(const char*,FILE*)
fprintf(FILE*,與printf格式相同)

char getc(FILE*)
傳入檔案指標會回傳一個讀到的字元
#include <iostream>
using namespace std;

int main(){
    char c;
    FILE* ptr = fopen("C:\\test.txt","r");
    /* 此範例假設讀入的檔案在 C:\test.txt */
    c = getc(ptr);
    system("pause");
    return 0;
}



char fgetc(FILE*)
同getc一樣


fscanf(FILE*,與scanf格式相同)
與scanf非常像差別在於scanf
是從標準輸入流讀入,fscanf
則是從指定的檔案指標
#include <iostream>
using namespace std;

int main(){
    char c;
    FILE* ptr = fopen("C:\\test.txt","r");
    /* 此範例假設讀入的檔案在 C:\test.txt */
    fscanf(ptr,"%c",&c);
    system("pause");
    return 0;
}


int putc(int,FILE*)
傳入一個ascii值寫入指定檔案
#include <iostream>
using namespace std;

int main(){
    FILE* ptr = fopen("C:\\test.txt","w");
    /* 此範例假設新增一個文字檔在 C:\test.txt */
    putc(35,ptr);
    /* 在文字檔內寫入一個 # */ 
    system("pause");
    return 0;
}


int fputs(const char*,FILE*)
傳入一串文字寫入指定檔案
#include <iostream>
using namespace std;

int main(){
    FILE* ptr = fopen("C:\\test.txt","w");
    /* 此範例假設新增一個文字檔在 C:\test.txt */
    fputs("Hello",ptr);
    /* 在文字檔內寫入 Hello */ 
    system("pause");
    return 0;
}


fprintf(FILE*,與printf格式相同)
傳入檔案指標剩下的格式就
如同printf函式一樣
#include <iostream>
using namespace std;

int main(){
    char c[] = "Hello";
    FILE* ptr = fopen("C:\\test.txt","w");
    /* 此範例假設新增一個文字檔在 C:\test.txt */
    fprintf(ptr,"%s",c);
    /* 在文字檔內寫入 Hello */ 
    system("pause");
    return 0;
}

沒有留言:

張貼留言