C中檔案基本讀寫操作(單字元,多字元)

那事那人發表於2016-07-13
#include <iostream>
using namespace std;
void main(int argc,char *argv[]){
 //檔案的寫操作
 FILE* file = fopen("C:\\Users\\Administrator\\Desktop\\a.txt", "r");
 FILE* file2 = fopen("C:\\Users\\Administrator\\Desktop\\b.txt", "w");
  if (!file){
   cout << "開啟失敗" << endl;
  }else{
        cout << "開啟成功" << endl;
  //讀取一個字串fgets(緩衝區,讀取字元個數,檔案指標)
   char* strBuf=new char[5]; //緩衝區 ;5:讀取字元個數
   char* str=fgets(strBuf, 5, file);
   while (str!=NULL)
   {
    //cout << strBuf << endl;
    fputs(strBuf, file2);
    //memset(strBuf, 0, strlen(strBuf));
    str = fgets(strBuf, 5, file);
   }
}

  int n = fclose(file); //關閉
  if (n == 0)
  {
   cout << "正常關閉" << endl;
  }
  else{
   cout << "關閉出錯" << endl;
  }
  fclose(file2);
  system("pause");
}


//讀取一個字元
//進行操作 讀取成功,返回字元的ASCII碼。否怎返回EOF(-1)
//int ch = fgetc(file); //注意:ascii碼要進行轉換才能顯示
/*char a = char(ch); cout <<a << endl;*/
//putchar(ch); //輸出到螢幕

//  //1.一個字元一個字元的讀取.和寫入
//int n = fgetc(file);
//while (n != EOF) //一個字元一個字元迴圈讀取
//{
// //寫入到另外一個檔案中去
// fputc(n, file2);
// putchar(n);
// n = fgetc(file);
//}



/*
stdin:標準輸入流
stdout:標準輸出流
stderr:錯誤提示流
*/

相關文章