gpt4 book ai didi

c++ - 我如何着手创建一个数组,我稍后会在代码中定义大小?

转载 作者:行者123 更新时间:2023-11-28 04:12:14 25 4
gpt4 key购买 nike

我需要创建两个数组,它们的大小反射(reflect)了我加载到程序中的两个文件中的数据大小。这些数组随后需要由同一解决方案中的其他 .cpp/.h 文件访问,我将如何执行此操作?

我已经有一些代码可以执行此操作,但它特定于该功能,我不能在其他地方使用它。

ReadFunction.h

#include <string>
#include <fstream>
#include <iostream>

static std::string read_file(const char* filepath)
{
FILE* file = fopen(filepath, "rt");
fseek(file, 0, SEEK_END);
unsigned long length = ftell(file);
char* data = new char[length + 3];
memset(data, 0, length + 1);
fseek(file, 0, SEEK_SET);
fread(data, 1, length, file);
fclose(file);

std::string result(data);
delete[] data;
return result;

}

main.cpp

#include<iostream>
#include "Headers/ReadWFunction.h"


int main(void)
{
std::string file = read_file("Wally_grey.txt");
std::cout << file << std::endl;

system("PAUSE");
return 0;
}

这段代码可以工作并加载到一个文件中,然后将其写入控制台,但是我需要对两个不同大小的文件执行两次此操作,然后将它们加载到 double 类型的一维数组中,然后与一个文件中的另一个进行比较不同的 .cpp 文件。但是我不知道如何解决这个问题,因为我需要声明一个数组但在 iv 加载到文件之前不给它一个大小,因此知道数组所需的大小。此外,数组需要通过一个名为 compare.cpp 的单独 .cpp 文件访问,我是在 readFunctions.h 文件中声明数组并将它们公开,还是在其他地方声明它们?我对这些东西还很陌生,所以我们将不胜感激。

最佳答案

这是一个从文件中读取 double 并将它们作为 vector 返回的函数

static std::vector<double> read_file(const char* filepath)
{
std::vector<double> v;
std::ifstream file(filepath);
double x;
while (file >> x)
v.push_back(x);
return v;
}

关于c++ - 我如何着手创建一个数组,我稍后会在代码中定义大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57447630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com