如何在 c++ 中读取 .inp 文件?

How to read .inp file in c++?

提问人:SupernoobBran 提问时间:7/4/2020 最后编辑:SupernoobBran 更新时间:7/4/2020 访问量:651

问:

我有一个数据集,一个“.inp”格式的文件,我需要用 c++ 读取这个文件。然而,fopen() fread() 方法似乎失败了并读取了错误的数据(例如,第一个整数应该是262144,但 fread 产生的整数比这大得多)。

更具体地说,我的“.inp”文件包含一些整数和浮点,如何在 c++ 中成功读取它们?

在此处输入图像描述这是 Notepad++ 中“*.inp”文件的屏幕截图。基本上这是一个文本文件。

C++ 数据集

评论

2赞 Retired Ninja 7/4/2020
你知道文件的结构吗?它是否可能以大端格式而不是小端格式编写?这可以解释价值观的差异。
1赞 Ted Lyngmo 7/4/2020
我不知道什么是“.inp”格式文件。你能分享一下规格吗?
0赞 SupernoobBran 7/4/2020
我已经上传了“*.inp”文件的屏幕截图,你们可以帮帮我吗?

答:

0赞 SupernoobBran 7/4/2020 #1

我通过将数据复制到txt中来解决它。但是,我仍然不知道如何阅读“*.inp”

0赞 Advent 7/4/2020 #2

我找到了一些关于INP文件扩展名的信息。它似乎有多种变体,每种变体都用于不同的目的。您的文件来自哪里?至于灵魂,如果你不能正常使用 fopen/fstream 打开文件,你可以将其视为二进制文件,并以你指定的方式读取每个值。除此之外,我可以考虑调用系统函数来获取文件内容(例如 linux 中的 cat),然后如果有一些随机字符,您可以解析字符串以省略它们。

以下是如何在 C++ 中调用 cat 的示例: 从 c++ 调用“cat”的简单方法?