fstream中ifstream和ofstream的簡單用法

正明小佐發表於2024-10-30

從檔案中讀資料用ifstream,比如:

#include <iostream>
#include <fstream>
int main(){
  std::string file_name = "path/filename.txt";
  std::ifstream i_f_stream(file_name);         // 申請資源建立i_f_stream控制代碼
  if(!i_f_stream){                             // 路徑或檔名不對
    std::cerr << "file open error" << std::endl;
    exit(-1);
  }
  std::string line;                            // 讀取的內容暫存到line中
  std::vector<std::string> file_vector;        // 用vector按行儲存
  while(std::getline(i_f_stream, line))        // 一直讀到EOF
    file_vector.push_back(line);
  i_f_stream.close();                          // 用完後需釋放資源
}

將資料寫入檔案用ofstream,比如:

#include <iostream>
#include <fstream>
int main(){
  std::string file_name = "path/filename_txt";
  std::ofstream o_f_stream(file_name);        // 申請資源,建立ofstream的控制代碼
  //若path不對,則建立失敗,path對,ofstream會清空filename.txt的內容,
  //並開啟filename.txt,若不存在則建立filename.txt
  
  if(!o_f_stream){                                
    std::cerr << "file open error" << std::endl;
    exit(-1);
  }
  for(int i = 0; i < 100; ++i){
    o_f_stream << "hello";
    o_f_stream << i;
    o_f_stream << std::endl;
  }
  o_f_stream.close();                          // 釋放資源
  return 0;
}

相關文章