C/C++读取txt文件中的float数据并用指针存储

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 类型的变量 file 来打开一个名为 “data.txt” 的文件。while 循环中使用了流提取运算符 >>,每次读取一个整数,直到文件读取完毕。最后,使用 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循环中,我们读取文件中的浮点数并将其添加到vector中。 最后,我们关闭文件并使用for循环输出读取的浮点数。

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关键字分配内存,然后回到文件开头进行实际的数据读取。最后输出数据、关闭文件并释放内存。

猜你喜欢

转载自blog.csdn.net/qq_39506862/article/details/130893599