【问题标题】:Read data from file and store into RAM in C++从文件中读取数据并在 C++ 中存储到 RAM 中
【发布时间】:2021-12-11 16:41:21
【问题描述】:

我正在编写一个代码,我必须生成一个包含 10000 个密钥(1 个密钥 = 16 字节随机数)的 key.bin 文件,读取密钥文件,并将其存储在 RAM 中。谁能告诉我我是怎么知道的?我对此比较陌生,所以任何指导都会很棒。

谢谢。

【问题讨论】:

  • idownvotedbecau.se/noattempt 到目前为止你做了什么来搜索这个?这是一个常见的任务,有很多可用的教程(例如cplusplus.com/doc/tutorial/files
  • 这能回答你的问题吗? How do you open a file in C++?
  • 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。
  • 不清楚将其存储在RAM中是什么意思。通常,RAM 不组织成文件(外部存储器,如磁盘,包含文件系统,但不包含 RAM)。这是一台普通的 PC 还是某种特殊的设备?您说的是普通 RAM 还是某种 NVRAM?

标签: c++ file ram


【解决方案1】:

正如@heap-underrun 所指出的,目前尚不清楚您是在谈论 PC 中使用的通用 RAM 还是其他设备中的某种特殊类型的内存。我假设您说的是 PC 中的常规 RAM。

当您运行一个程序时,程序中的所有变量都存储在 RAM 中,直到程序终止。因此,您需要做的就是在程序中读取文件并将数据存储在变量中。然后数据将存储在 RAM 中,直到您的程序终止。 https://www.cplusplus.com/doc/tutorial/files/ 应该是 C++ 中文件 I/O 的一个很好的参考。

我将在这里举一个简单的例子。假设您的文件如下所示

00001
00002
00003
...

读取文件的简单 C++ 代码是,

#include<fstream>

using namespace std;

int main(){
    int n = 10000;          //number of keys in file
    long double keys[n];    //because you said 16 bit number
                            //and long double is 16 bit
    ifstream FILE;
    FILE.open("key.bin");   //include full path if the file is in
                            //a different directory
    for(int i = 0; i < n; i++){
        FILE >> keys[i];
    }
    FILE.close();

}

现在,所有键都在 keys 数组中。您可以访问数据并做任何您想做的事情。如果您仍然不清楚某些内容,请将其放在 cmets 中。

【讨论】:

    猜你喜欢
    • 2010-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多