C言語でtxtファイルのデータを読み込む
以下は、C 言語で txt ファイル内のデータを読み取る方法を示す簡単なサンプル コードです。
#include <stdio.h>
int main() {
FILE *fp;
char buffer[100];
// 打开文件
fp = fopen("example.txt", "r");
// 如果文件打开失败,则输出错误信息并退出程序
if (fp == NULL) {
printf("无法打开文件!\n");
return 1;
}
// 读取文件内容并输出到屏幕上
while (fgets(buffer, 100, fp) != NULL) {
printf("%s", buffer);
}
// 关闭文件
fclose(fp);
return 0;
}
上記のコードでは、fopen()
関数を使用して example.txt ファイルを開いてfp
ポインターに保存しました。ファイルが正常に開かれた場合は、fgets()
関数を使用してファイルからデータの各行を読み取り、それを バッファ に保存しbuffer
、最後にコンソールに出力します。
すべてのデータを読み取った後、fclose()
関数を使用してファイルを閉じ、リソースを解放します。
fopen()
ファイルが存在しない場合、またはファイルを開くことができない場合、この関数は返されることに注意してくださいNULL
。この場合、条件文を使用してエラー メッセージを出力し、プログラムを終了します。
C++ は txt ファイル内のデータを読み取ります
以下は、C++ を使用して txt ファイル内のデータを読み取る方法を示す簡単なサンプル コードです。
#include <iostream>
#include <fstream>
int main() {
std::ifstream file("data.txt"); // 打开文件
int num;
while (file >> num) {
// 使用流提取运算符 >> 逐个读取整数
std::cout << num << " "; // 输出读取的整数
}
file.close(); // 关闭文件
return 0;
}
上記のコードでは、 std::ifstream
type file
「data.txt」というファイルを開きました。while
ストリーム抽出演算子はループ内で使用され、>>
ファイルが読み取られるまで一度に 1 つの整数を読み取ります。最後に、 でファイルをfile.close()
閉じます。
上記のコードは、ファイルに整数のみが含まれており、各整数がスペースまたは改行で区切られていることを前提としていることに注意してください。ファイルに他のタイプのデータが含まれている場合、または異なる区切り文字が使用されている場合は、ファイルの読み取り方法をそれに応じて変更する必要があります。
C++はtxtファイル内のfloatデータを読み取り、それをvectorに保存します。
以下は、テキスト ファイルに保存された浮動小数点データの読み取りに役立つ基本的なサンプル コードです。
#include <iostream>
#include <fstream>
#include <vector>
int main()
{
std::ifstream infile("input.txt"); // 打开名为input.txt的文件
std::vector<float> floatVector; // 创建一个vector,并将浮点数存储在其中
float value;
while (infile >> value) // 循环读取文件中的浮点数
{
floatVector.push_back(value);
}
infile.close(); // 关闭文件
// 输出读取的浮点数
for (int i = 0; i < floatVector.size(); i++)
{
std::cout << floatVector[i] << std::endl;
}
return 0;
}
input.txt
この例では、という名前のファイルを開き、浮動小数点数を格納するベクトルを作成します。while ループでは、ファイルから浮動小数点数を読み取り、それらをベクトルに追加します。最後に、ファイルを閉じ、for ループを使用して、読み取った float を出力します。
C++ は txt ファイル内の float データを読み取り、ポインタとともに格納します。
以下は、txt ファイルから float データを読み取り、ポインターを使用してそれを格納するサンプル コードです。
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
// 打开文件
ifstream file("input.txt");
if (!file.is_open())
{
cout << "无法打开文件" << endl;
return 1;
}
// 统计文件中浮点数的数量
int count = 0;
float tmp;
while (file >> tmp)
{
count++;
}
// 分配内存
float* data = new float[count];
// 回到文件开头并读取数据
file.clear();
file.seekg(0, ios::beg);
int i = 0;
while (file >> tmp)
{
data[i] = tmp;
i++;
}
// 关闭文件
file.close();
// 输出读取的数据
for (int i = 0; i < count; i++)
{
cout << data[i] << endl;
}
// 释放内存
delete[] data;
return 0;
}
上記のコードでは、まず txt ファイルを開いて正常に開かれたかどうかを確認し、ファイル内の浮動小数点数の数をカウントします。次に、new
キーワードによってメモリを割り当て、ファイルの先頭に戻って実際のデータを読み取ります。最後にデータを出力し、ファイルを閉じてメモリを解放します。