1. 程式人生 > 其它 >檔案讀寫操作 - 讀寫字元

檔案讀寫操作 - 讀寫字元

#include <stdio.h>
#include "stdlib.h"

// 讀取檔案內容到程式
void readFile1(){
    FILE  *fp;
    char inputFile[20];

    printf("Please input the file path:\n");
    gets(inputFile);

    fp = fopen(inputFile, "r");

    if(fp == NULL){
        printf("Can not open %s\n", inputFile);
        exit(0);
    }

    
while (!feof(fp)){ putchar(fgetc(fp)); } printf("\n"); fclose(fp); } // 程式讀取內容寫入到檔案,直到'#'結束 void writeFile(FILE *fp){ char ch; printf("Please input the content, end with #:\n"); ch = getchar(); while (ch != '#'){ fputc(ch, fp); ch = getchar(); }
// 將檔案指標定位於檔案開頭 rewind(fp); } // 從資料夾讀取內容 void readFile(FILE *fp){ char ch; printf("Start read content of file:\n"); ch = fgetc(fp); while (ch != EOF){ putchar(ch); // 從檔案讀取下一個函式 ch = fgetc(fp); } printf("\nRead done.\n"); } // 統計指定文字檔案中大小寫字母、數字及其他字元的個數
void countChar(){ FILE *fp; char fName[30]; int countLowercase = 0; int countUppercase = 0; int countDigit = 0; int countOthers = 0; char ch; printf("input the file path:\n"); gets(fName); fp = fopen(fName, "r"); if (fp == NULL){ printf("cannot open it.\n"); exit(0); } ch = fgetc(fp); while (ch != EOF){ if(ch>='A' && ch<='Z'){ countUppercase++; }else if(ch>='a' && ch<='z'){ countLowercase++; }else if(ch>='0' && ch<='9'){ countDigit++; }else{ countOthers++; } ch = fgetc(fp); } printf("Uppercase: %d\n", countUppercase); printf("Lowercase: %d\n", countLowercase); printf("Digit: %d\n", countDigit); printf("Others: %d\n", countOthers); fclose(fp); } int main() { // 讀取檔案內容 // readFile1(); // FILE *fp; // char inputFile[30]; // // printf("Please input the file path:\n"); // gets(inputFile); // // 只寫方式開啟一個文字檔案 // fp = fopen(inputFile, "wt+"); // // if (fp == NULL){ // printf("Can not open the file.\n"); // exit(0); // }else{ // printf("Open file succeed: %s.\n", inputFile); // } // // // 將字元寫入檔案 // writeFile(fp); // // // 從檔案中讀取字元 // readFile(fp); // // // 關閉檔案 // fclose(fp); countChar(); return 0; }