วันอังคารที่ 16 สิงหาคม พ.ศ. 2559

Input/output with files

ในบทสุดท้ายของบทเรียนภาษา C++ นี้ คุณจะได้เรียนการดำเนินการพื้นฐานกับไฟล์ โดยเราสามารถที่อ่านและเขียนบางอย่างลงไปใน text ไฟล์ fstream เป็นไลบรารีมาตรฐานที่ช่วยให้เราสามารถดำเนินการบางอย่างกับไฟล์ โดยจะมี 3 steam classes ในไลบรารีที่แสดงในรายการข้างล่างนี้

  • ofstream: Stream class เพื่อเขียนข้อมูลลงไฟล์
  • ifstream: Stream class เพื่ออ่านข้อมูลจากไฟล์
  • fstream: Stream class เพื่ออ่านข้อมูลและเขียนข้อมูลกับไฟล์
อย่างไรก็ตาม ในบทนี้เราจะทำงานกับแค่ text ไฟล์เท่านั้น

การเปิดไฟล์

สิ่ง แรกที่คุณจะต้องทำก่อนที่จะทำบางอย่างกับไฟล์คือการเปิดไฟล์ เราสามารถเลือกใช้จากหนึ่งของสามคลาสที่เหมาะสมกับสิ่งที่เราต้องการจะทำได้ เพื่อที่จะเขียนหรืออ่าน และฟังก์ชันที่ใช้ในการเปิดไฟล์คือ open() มาดูตัวอย่าง
// open for write
ofstream myfile1;
myfile1.open("example1.txt");

// open file for read
ofstream myfile2;
myfile2.open("example2.txt");

// open file for read and write
ofstream myfile3;
myfile3.open("example3.txt");

Closing a file

หลังจากเราเสร็จงานของเราแล้ว เราต้องผิดไฟล์โดยการใช้ฟังก์ชัน close()
myfile1.close();
myfile2.close();
myfile3.close();

การเขียนข้อมูลลงไฟล์ (text files)

เราสามารถเขียนตัวอักษร ข้อความหรือตัวเลข ลงไปในไฟล์โดยการใช้เครื่องหมาย << กับไฟล์ที่เราต้องการจะเขียนไปยัง
#include <iostream>
#include <fstream>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
  myfile << "This is the first line.\n";
  myfile << "The second line.\n";
  myfile << 10.5;
  myfile.close();
  return 0;
}
ในตัวอย่าง เราได้เปิดไฟล์ example.txt และเขียนข้อความลงไปสองบรรทัด และตัวเลขอีกหหนึ่งบรรทัด และปิดไฟล์หลังจากที่เขียนเสร็จแล้ว เมื่อคุณเปิดดูไฟล์ example.txt สิ่งที่คุณเห็นในไฟล์ควรจะเป็นแบบนี้
This is the first line.
The second line.
10.5

การอ่านข้อมูลจากไฟล์ (text files)

ต่อไป เราจะมาอ่านเนื้อหาจากไฟล์ที่เราได้เพิ่งเขียนลงไป
#include <iostream>
#include <fstream>
#include <string>
using namespace std;

int main () {
  ofstream myfile;
  myfile.open ("example.txt");
  while ( getline (myfile,line) )
  {
      cout << line << '\n';
  }
  myfile.close();
  return 0;
}
ในตัวอย่าง เราใช้ while-loop วนรอบเพื่ออ่านข้อมูลจากไฟล์ ฟังก์ชัน getline เป็นฟังก์ชันของ string ที่ช่วยให้เราสามารถอ่านข้อมูลมาทีละบรรทัดและใส่ไว้ในตัวแปร line และฟังก์ชัน getline จะไม่อ่านการขึ้นบรรทัดใหม่ (\n) ในไฟล์ มันจะวนซ้ำจนกว่าจะสิ้นสุดบรรทัดสุดท้ายของไฟล์

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...