在 C++ 中读取大型 .txt 文件时出现奇怪的错误[重复]

2023-12-30

我正在尝试读取一个非常大的 .txt 文件,该文件有 128x128x128=2097152 行(线性化 3d 空间),其中仅包含一个 0 或 1 行(不要问为什么)...我将代码缩减为几行似乎当我计算行和增量时,一切都很顺利...但是一旦我想将数据放入足够允许的数组中,行读取就会停止在 i=12286...

这是代码

int dim = nbvox[0]*nbvox[1]*nbvox[2];
float* hu_geometry = new float(dim);
int* hu_temp = new int(dim);
string line;

int i = 0;


ifstream in(hu_geom_file.c_str());
if(in.is_open())
{
  while(getline(in, line))
  {

    hu_temp[i] = stoi(line);
    cout << "i= " << i << " line= " << line << " hu_temp= " << hu_temp[i] << endl;
    i++;
  }
  cout << __LINE__ << " i=" << i << endl;
  in.close();
  cout << __LINE__ << endl;
}
else cout << "Unable to open " << hu_geom_file << endl;

这是我在收到错误之前得到的最后一个输出...这很奇怪,因为每当我在 while 内注释 hu_temp 行时,cout 就单独工作到 2097152。

i= 12276 line= 0 hu_temp= 0
i= 12277 line= 0 hu_temp= 0
i= 12278 line= 0 hu_temp= 0
i= 12279 line= 0 hu_temp= 0
i= 12280 line= 0 hu_temp= 0
i= 12281 line= 0 hu_temp= 0
i= 12282 line= 0 hu_temp= 0
i= 12283 line= 0 hu_temp= 0
i= 12284 line= 0 hu_temp= 0
i= 12285 line= 0 hu_temp= 0
115 i=12286
*** Error in `G4Sandbox': free(): invalid pointer: 0x0000000001ba4c40 ***
Aborted (core dumped)

float* hu_geometry = new float(dim);
int* hu_temp = new int(dim);

这些是包含值的 1 个字符数组dim。在某些时候,您会遇到 MMU 边界并随机崩溃。

你想写:

float* hu_geometry = new float[dim];
int* hu_temp = new int[dim];

或者使用向量可能更好,预先分配dim元素

#include <vector>
std::vector<float> hu_geometry(dim);
std::vector<int> hu_temp(dim);

或在开始时未分配:

std::vector<int> hu_temp;

并在您的代码中:

hu_temp.push_back(stoi(line));

(hu_temp.size()给出了尺寸和许多非常好的功能的更好描述here http://www.cplusplus.com/reference/vector/vector/)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中读取大型 .txt 文件时出现奇怪的错误[重复] 的相关文章

  • 向进度条添加百分比文本 C#

    我有一个方法可以显示进程栏何时正在执行以及何时成功完成 我工作得很好 但我想添加一个百分比 如果完成 则显示 100 如果卡在某个地方 则显示更少 我在网上做了一些研究 但我无法适应我正在寻找的解决方案 这是我的代码 private voi
  • 每个托管线程是否都有自己对应的本机线程?

    我想知道是否在 Net 中创建托管线程 通过调用Thread Start 导致在后台创建一个本机线程 那么托管线程是否有对应的本机线程呢 如果是 当托管线程等待或睡眠时 是否意味着相应的本机线程也在等待或睡眠 是的 NET 线程映射到所有当
  • Directory.Delete 之后 Directory.Exists 有时返回 true ?

    我有非常奇怪的行为 我有 Directory Delete tempFolder true if Directory Exists tempFolder 有时 Directory Exists 返回 true 为什么 可能是资源管理器打开了
  • 计算 Richtextbox 中所有单词的最有效方法是什么?

    我正在编写一个文本编辑器 需要提供实时字数统计 现在我正在使用这个扩展方法 public static int WordCount this string s s s TrimEnd if String IsNullOrEmpty s re
  • 在 DataView 的 RowFilter 中选择 DISTINCT

    我试图根据与另一个表的关系缩小 DataView 中的行范围 我使用的 RowFilter 如下 dv new DataView myDS myTable id IN SELECT DISTINCT parentID FROM myOthe
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 使用接口有什么好处?

    使用接口有什么用 我听说它用来代替多重继承 并且还可以用它来完成数据隐藏 还有其他优点吗 哪些地方使用了接口 程序员如何识别需要该接口 有什么区别explicit interface implementation and implicit
  • 为什么调用非 const 成员函数而不是 const 成员函数?

    为了我的目的 我尝试包装一些类似于 Qt 共享数据指针的东西 经过测试 我发现当应该调用 const 函数时 会选择它的非 const 版本 我正在使用 C 0x 选项进行编译 这是一个最小的代码 struct Data int x con
  • 具有交替类型的可变参数模板参数包

    我想知道是否可以使用参数包捕获交替参数模式 例如 template
  • C#:帮助理解 UML 类图中的 <>

    我目前正在做一个项目 我们必须从 UML 图编写代码 我了解 UML 类图的剖析 但我无法理解什么 lt
  • Azure 辅助角色“请求输入之一超出范围”的内部异常。

    我在辅助角色中调用 CloudTableClient CreateTableIfNotExist 方法 但收到一个异常 其中包含 请求输入之一超出范围 的内部异常 我做了一些研究 发现这是由于将表命名为非法表名引起的 但是 我尝试为我的表命
  • C# HashSet 只读解决方法

    这是示例代码 static class Store private static List
  • AES 128 CBC 蒙特卡罗测试

    我正在 AES 128 CBC 上执行 MCT 如中所述http csrc nist gov groups STM cavp documents aes AESAVS pdf http csrc nist gov groups STM ca
  • “接口”类似于 boost::bind 的语义

    我希望能够将 Java 的接口语义与 C 结合起来 起初 我用过boost signal为给定事件回调显式注册的成员函数 这非常有效 但后来我发现一些函数回调池是相关的 因此将它们抽象出来并立即注册所有实例的相关回调是有意义的 但我了解到的
  • 将 MQTTNet 服务器与 MQTT.js 客户端结合使用

    我已经启动了一个 MQTT 服务器 就像this https github com chkr1011 MQTTnet tree master例子 该代码托管在 ASP Net Core 2 0 应用程序中 但我尝试过控制台应用程序 但没有成
  • 使用 %d 打印 unsigned long long

    为什么我打印以下内容时得到 1 unsigned long long int largestIntegerInC 18446744073709551615LL printf largestIntegerInC d n largestInte
  • C++ 函数重载类似转换

    我收到一个错误 指出两个重载具有相似的转换 我尝试了太多的事情 但没有任何帮助 这是那段代码 CString GetInput int numberOfInput BOOL clearBuffer FALSE UINT timeout IN
  • 按 Esc 按键关闭 Ajax Modal 弹出窗口

    我已经使用 Ajax 显示了一个面板弹出窗口 我要做的是当用户按 Esc 键时关闭该窗口 这可能吗 如果有人知道这一点或以前做过这一点 请帮助我 Thanks 通过以下链接 您可以通过按退出按钮轻松关闭窗口 http www codepro
  • 如果没有抽象成员,基类是否应该标记为抽象?

    如果一个类没有抽象成员 可以将其标记为抽象吗 即使没有实际理由直接实例化它 除了单元测试 是的 将不应该实例化的基类显式标记为抽象是合理且有益的 即使在没有抽象方法的情况下也是如此 它强制执行通用准则来使非叶类抽象 它阻止其他程序员创建该类
  • Oracle Data Provider for .NET 不支持 Oracle 19.0.48.0.0

    我们刚刚升级到 Oracle 19c 19 3 0 所有应用程序都停止工作并出现以下错误消息 Oracle Data Provider for NET 不支持 Oracle 19 0 48 0 0 我将 Oracle ManagedData

随机推荐

  • 如何为 WKWebView 发出的请求设置自定义 HTTP 标头

    我构建了一个包含 WKWebView 的应用程序 并且 Web 视图加载的网站支持多种语言 我怎样才能改变Accept LanguageWKWebView 中的标头 或其他 HTTP 标头 我已经让它以某种方式工作 但只有获取请求才会有自定
  • 如何使正在运行的可执行文件删除自己的文件

    例如 我正在运行可执行文件 TrashClean exe 我希望它删除所有我不想要的文件 并在最后一步删除自身 硬盘驱动器上的 Trash Clean exe 我想知道在 C 中是否可以 请参见如何让您的应用程序立即自行删除 http ww
  • 使用 Spring Boot、Session 和 Redis 创建会话时未复制会话

    我正在尝试使用 Spring Cloud 的 Zuul Eureka 和我自己的服务来实现微服务架构 我有多个具有 UI 和服务的服务 每个服务都可以使用 x509 安全性对用户进行身份验证 现在我试图将 Zuul 放在这些服务之前 由于
  • 如何将文件存储到数据库中?

    如何将用户上传的文件存储到数据库中 我想将文件存储在数据库中 我们该怎么做 在后端 我将 sql 与 c net 应用程序一起使用 此解决方案适用于 SQL SERVER 2005 2008 你必须创建表VARBINARY MAX 作为列之
  • 平静力量布局的初始刻度

    我刚刚开始涉足 d3 发现学习曲线相当陡峭 这个过程与我习惯的完全不同 而且数学大多超出了我的理解范围 无论如何 我的项目由代表系统之间集成地图的部队布局组成 这部分效果非常好 但我确实有一个主要问题 这也体现在 Michael Bosto
  • Ember.js - 正确执行(结构、包含、一般问题)

    我正在使用 ember js 并且不知何故陷入了寻找如何以正确的方式构建结构的困境 我可以跟随所有例子 http emberjs com guides 但将它们放在一起时遇到一些问题 我正在使用 require js 和车把 我的目录结构如
  • 总结不同格式日期的小时数。 C#

    我有个问题 我需要用代码总结在办公室的工作时间 我从 SQL Server 获取的日期没有问题 但我有不同的格式 例如 2019 09 23 14 54 23 2019 09 23 14 54 23 or 2019 09 23 14 54
  • Android volley 在所有请求完成时获取回调

    我正在使用 volley 对一系列请求进行排队 当这些请求发生时 我向用户显示一个进度对话框 有没有办法可以检查所有这些请求何时完成 这就是我要的 Show progress bar for int i 0 i
  • std::is_same 结果与左值和右值引用

    我正在将 std is same 实用程序函数与右值和左值引用结合使用 并遇到了奇怪的行为 考虑这个检查变量 t 类型的函数模板 我正在使用 VS 2013 struct Test template lt class T gt void h
  • 使用子进程从 python 执行时,ssh 未被识别为命令?

    这是我的代码 import subprocess import sys HOST xyz3511 uhc com Ports are handled in ssh config since we use OpenSSH COMMAND up
  • jQuery 将小数添加到 SELECT,没有重复项并可选择删除

    好的 这里是 需要过滤掉重复项并能够删除添加到选择框的值 Number
  • 检测 Vue-Router 导航卫士中的后退按钮

    路线如何改变对于我的情况很重要 所以 我想捕捉浏览器或 gsm 的后退按钮何时更改路线 这就是我所拥有的 router beforeEach to from next gt if IsItABackButton from meta some
  • Javascript 文件组织和设计

    真正进入 Web 开发 特别是 JS 所以我想知道 JS 文件组织和职责委派方面的最佳实践是什么 我问这个是因为这种结构对我来说是有意义的 主页 PHP 包括对中央 JS 文件的引用 MAIN Javascript 文件 包括对仅包含命名空
  • 点击 linkedin 的 http get 请求,在 Angular 2 中给出错误

    我正在使用 linkedin 进行注册 需要获取访问代码和基本个人资料详细信息 但是当我发布请求时 我的控制台中出现 CORS 错误 当我直接在浏览器中点击 URL 时 它会将我正确地带到登录页面 满足请求会出现什么问题 CORS 问题已解
  • 允许国际字符的弹出式虚拟键盘

    我正在为我们正在开发的应用程序寻找特定的 Javascript 解决方案 我们其实曾经拥有过它 但我们已经失去了它 捂脸 发生的事情如下 单击键盘图像 弹出虚拟键盘 允许用户选择一堆国际按键 例如德国的变音符号 塞尔维亚语的西里尔字母等 我
  • 冬眠。 PSQLException:int 类型的错误值:admin

    我有一个带有 JAVA 和 Hibernate 的桌面应用程序4 3 1 现在我只有两个实体 用户和角色 User ManyToOne fetch FetchType LAZY Fetch FetchMode JOIN JoinColumn
  • NgMap 集群在缩放后更改标记颜色

    我想改变标记的颜色 我在用着ng map显示地图 我还在这个库中使用集群选项 我的问题 我可以更改标记颜色并且可以看到这一点 但是一旦开始缩放 标记颜色就会更改为默认颜色 红色 这是我的代码
  • Twitter 请求令牌 OAuth 401 错误

    尝试使用 OAuth 添加 twitter 登录 但请求令牌的第一步是一场噩梦 这会一如既往地导致 401 错误 我使用 twitter 的 Test OAuth 工具来比较我的 scala 服务器发送的 http 请求 Curl要求wor
  • 设置 Excel 单元格格式(货币)

    我开发了一个 Excel 插件 这样您就可以将 MySQL 数据库中的一些数字插入到特定单元格中 现在我尝试将这些单元格格式化为货币 但遇到两个问题 1 在格式化单元格上使用公式时 总和显示如下 353 2574 欧元 我需要做什么才能以适
  • 在 C++ 中读取大型 .txt 文件时出现奇怪的错误[重复]

    这个问题在这里已经有答案了 我正在尝试读取一个非常大的 txt 文件 该文件有 128x128x128 2097152 行 线性化 3d 空间 其中仅包含一个 0 或 1 行 不要问为什么 我将代码缩减为几行似乎当我计算行和增量时 一切都很