はじめに
この実験(Lab)では、C++ プログラミング言語を使用して、ファイルを 1 行ずつ読み書きする方法を学びます。ファイルを作成し、それに書き込み、その後、その内容を 1 行ずつ読み取ります。
この実験(Lab)では、C++ プログラミング言語を使用して、ファイルを 1 行ずつ読み書きする方法を学びます。ファイルを作成し、それに書き込み、その後、その内容を 1 行ずつ読み取ります。
~/project
ディレクトリに、file_io.cpp
という名前の C++ ファイルを作成します。このステップでは、example.txt
という名前のファイルを作成し、オープンします。
#include <fstream>
int main() {
// Creating and opening a file
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
ofs.close();
return 0;
}
説明:
ofstream
は、ファイルへの書き込みを行うためのクラスです。ofs
は、ofstream
クラスのオブジェクトです。open()
メソッドは、ファイルを作成し、オープンするために使用されます。open()
メソッドでは、最初の引数は作成するファイルの名前であり、2 番目の引数はファイルを開くモードを指定します。ここでは、out
はファイルを書き込み用に開くことを指定し、trunc
はファイルが既に存在する場合にファイルを切り捨てることを指定します。このステップでは、example.txt
ファイルに書き込みを行います。
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ofstream ofs;
ofs.open("example.txt", std::ofstream::out | std::ofstream::trunc);
if (ofs.is_open()) {
std::cout << "Enter text to write to the file (Enter empty line to exit):" << std::endl;
std::string line;
do {
std::getline(std::cin, line);
if (line.length()) {
ofs << line << std::endl;
}
} while (line.length());
ofs.close();
} else {
std::cerr << "Error in opening the file" << std::endl;
}
return 0;
}
説明:
std::cout
は、ファイルに書き込むテキストを入力するようにユーザーに求めるメッセージをコンソールに表示するために使用されます。std::getline()
は、ユーザー入力を 1 行ずつ読み取り、line
変数に格納するために使用されます。if (line.length())
は、ユーザーがテキストを入力したかどうかを確認するために使用されます。ユーザーがテキストを入力していない場合、ループは終了します。ofs << line << std::endl;
は、ユーザー入力を改行文字を付けてファイルに書き込むために使用されます。std::cerr
は、ファイルを開くことができない場合に、エラーメッセージをコンソールに表示するために使用されます。このプログラムを実行するには、~/project
ディレクトリに移動し、次のコマンドを実行します。
g++ file_io.cpp -o file_io && ./file_io
このプログラムは、ユーザーにファイルに書き込むテキストを入力するように促し、ユーザー入力をファイルに書き込みます。
このステップでは、example.txt
ファイルの内容を読み込みます。
#include <fstream>
#include <iostream>
#include <string>
int main() {
std::ifstream ifs;
ifs.open("example.txt");
if (ifs.is_open()) {
std::cout << "Contents of the file:" << std::endl;
std::string line;
while (std::getline(ifs, line)) {
std::cout << line << std::endl;
}
ifs.close();
} else {
std::cerr << "Error in opening the file" << std::endl;
}
return 0;
}
説明:
std::ifstream
は、ファイルから読み込みを行うためのクラスです。ifs
は、ifstream
クラスのオブジェクトです。open()
メソッドは、既存のファイルを開くために使用されます。open()
メソッドでは、引数は開くファイルの名前です。std::cout
は、ファイルの内容が表示されていることを示すメッセージをコンソールに表示するために使用されます。std::getline()
は、ファイルの内容を 1 行ずつ読み込み、line
変数に格納するために使用されます。std::cout << line << std::endl;
は、ファイルの内容を 1 行ずつコンソールに表示するために使用されます。このプログラムを実行するには、~/project
ディレクトリに移動し、次のコマンドを実行します。
g++ file_io.cpp -o file_io && ./file_io
このプログラムは、example.txt
ファイルの内容をコンソールに表示します。
この実験(Lab)では、C++ プログラミング言語を使用して、ファイルの作成、書き込み、および読み込みを行う方法を学びました。 ofstream
クラスと ifstream
クラスをそれぞれ使用して、ファイルへの書き込みとファイルからの読み込みを行う方法を学びました。また、open()
メソッドを使用してファイルを作成および開き、getline()
メソッドを使用してファイルの内容を 1 行ずつ読み込む方法も学びました。