将列转换为 2D 向量的 C++ 文本文件

2023-12-14

我有一个包含值的文本文件,我想将它们放入二维向量中。

我可以用数组来做到这一点,但我不知道如何用向量来做到这一点。

矢量大小应该像我事先不知道的 vector2D[nColumns][nLines] 。我最多可以在文本文件中包含列数,但不能包含行数。 一个 .txt 文件与另一个 .txt 文件的列数可能不同。

.txt 示例:

189.53  -1.6700 58.550  33.780  58.867
190.13  -3.4700 56.970  42.190  75.546
190.73  -1.3000 62.360  34.640  56.456
191.33  -1.7600 54.770  35.250  65.470
191.93  -8.7500 58.410  33.900  63.505

对于数组我这样做:

//------ Declares Array for values ------//
const int nCol = countCols; // read from file
float values[nCol][nLin]; 

// Fill Array with '-1'
for (int c = 0; c < nCol; c++) {
    for (int l = 0; l < nLin; l++) {
        values[c][l] = -1;
    }
}

// reads file to end of *file*, not line 
while (!inFile.eof()) {
    for (int y = 0; y < nLin; y++) {
        for (int i = 0; i < nCol; i++) {
            inFile >> values[i][y];
        }
        i = 0;  
    }
}

而不是使用

float values[nCol][nLin]; 

use

std::vector<std::vector<float>> v;

你必须#include<vector>为了这。

现在您无需担心尺寸。

添加元素就像这样简单

std::vector<float> f; f.push_back(7.5); v.push_back(f);

也不要使用.eof()在流上,因为它直到到达末尾才设置它,因此它将尝试读取文件的末尾。

while(!inFile.eof()) 

应该

while (inFile >> values[i][y]) // returns true as long as it reads in data to values[x][y]

注意:而不是vector,您还可以使用std::array,这显然是切片面包之后最好的东西。

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

将列转换为 2D 向量的 C++ 文本文件 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 如何在 Cassandra 中存储无符号整数?

    我通过 Datastax 驱动程序在 Cassandra 中存储一些数据 并且需要存储无符号 16 位和 32 位整数 对于无符号 16 位整数 我可以轻松地将它们存储为有符号 32 位整数 并根据需要进行转换 然而 对于无符号 64 位整
  • 如何从 Visual Studio 将视图导航到其控制器?

    问题是解决方案资源管理器上有 29 个项目 而且项目同时具有 ASP NET MVC 和 ASP NET Web 表单结构 在MVC部分中 Controller文件夹中有大约100个子文件夹 每个文件夹至少有3 4个控制器 视图完全位于不同
  • 如何在 C# 中打开 Internet Explorer 属性窗口

    我正在开发一个 Windows 应用程序 我必须向用户提供一种通过打开 IE 设置窗口来更改代理设置的方法 Google Chrome 使用相同的方法 当您尝试更改 Chrome 中的代理设置时 它将打开 Internet Explorer
  • 无限循环与无限递归。两者都是未定义的吗?

    无副作用的无限循环是未定义的行为 看here https coliru stacked crooked com view id 24e0a58778f67cd4举个例子参考参数 https en cppreference com w cpp
  • 用于 FTP 的文件系统观察器

    我怎样才能实现FileSystemWatcherFTP 位置 在 C 中 这个想法是 每当 FTP 位置添加任何内容时 我都希望将其复制到我的本地计算机 任何想法都会有所帮助 这是我之前问题的后续使用 NET 进行选择性 FTP 下载 ht
  • 方程“a + bx = c + dy”的积分解

    在等式中a bx c dy 所有变量都是整数 a b c and d是已知的 我如何找到整体解决方案x and y 如果我的想法是正确的 将会有无限多个解 由最小公倍数分隔b and d 但我只需要一个解决方案 我可以计算其余的 这是一个例
  • ASP.NET Core 3.1登录后如何获取用户信息

    我试图在登录 ASP NET Core 3 1 后获取用户信息 如姓名 电子邮件 id 等信息 这是我在登录操作中的代码 var claims new List
  • 在 Unity 中实现 Fur with Shells 技术

    我正在尝试在 Unity 中实现皮毛贝壳技术 http developer download nvidia com SDK 10 5 direct3d Source Fur doc FurShellsAndFins pdf Fins 技术被
  • 结构体的内存大小不同?

    为什么第一种情况不是12 测试环境 最新版本的 gcc 和 clang 64 位 Linux struct desc int parts int nr sizeof desc Output 16 struct desc int parts
  • 为什么这个字符串用AesCryptoServiceProvider第二次解密时不相等?

    我在 C VS2012 NET 4 5 中的文本加密和解密方面遇到问题 具体来说 当我加密并随后解密字符串时 输出与输入不同 然而 奇怪的是 如果我复制加密的输出并将其硬编码为字符串文字 解密就会起作用 以下代码示例说明了该问题 我究竟做错
  • 为什么 C# 2.0 之后没有 ISO 或 ECMA 标准化?

    我已经开始学习 C 并正在寻找标准规范 但发现大于 2 0 的 C 版本并未由 ISO 或 ECMA 标准化 或者是我从 Wikipedia 收集到的 这有什么原因吗 因为编写 审查 验证 发布 处理反馈 修订 重新发布等复杂的规范文档需要
  • 两个类可以使用 C++ 互相查看吗?

    所以我有一个 A 类 我想在其中调用一些 B 类函数 所以我包括 b h 但是 在 B 类中 我想调用 A 类函数 如果我包含 a h 它最终会陷入无限循环 对吗 我能做什么呢 仅将成员函数声明放在头文件 h 中 并将成员函数定义放在实现文
  • 实例化类时重写虚拟方法

    我有一个带有一些虚函数的类 让我们假设这是其中之一 public class AClassWhatever protected virtual string DoAThingToAString string inputString retu
  • C 编程:带有数组的函数

    我正在尝试编写一个函数 该函数查找行为 4 列为 4 的二维数组中的最大值 其中二维数组填充有用户输入 我知道我的主要错误是函数中的数组 但我不确定它是什么 如果有人能够找到我出错的地方而不是编写新代码 我将不胜感激 除非我刚去南方 我的尝
  • Fortran 子例程返回错误值

    嘿 我正在开发一个 Fortran 程序 遇到了一个奇怪的问题 当我尝试在调用特定子例程之前直接输出数组的某些值时 我得到了正确的值 然后 我尝试在启动子例程时输出同一数组的一些值 它们都是 0 我最终在子例程之后输出数组的值 并且这些值回
  • 为什么 isnormal() 说一个值是正常的,而实际上不是?

    include
  • C 函数 time() 如何处理秒的小数部分?

    The time 函数将返回自 1970 年以来的秒数 我想知道它如何对返回的秒数进行舍入 例如 对于100 4s 它会返回100还是101 有明确的定义吗 ISO C标准没有说太多 它只说time 回报 该实现对当前日历时间的最佳近似 结
  • 为什么C++代码执行速度比java慢?

    我最近用 Java 编写了一个计算密集型算法 然后将其翻译为 C 令我惊讶的是 C 的执行速度要慢得多 我现在已经编写了一个更短的 Java 测试程序和一个相应的 C 程序 见下文 我的原始代码具有大量数组访问功能 测试代码也是如此 C 的

随机推荐

  • 如何将 -std=c++11 添加到 NetBeans IDE 中的编译器选项?

    Netbeans 给我以下错误 错误此文件需要 ISO C 2011 标准的编译器和库支持 此支持目前处于实验阶段 必须 使用 std c 11 或 std gnu 11 编译器选项启用 我不知道如何解决这个问题 有什么帮助吗 首先 打开项
  • 适用于运行时 4.0 的 WebApi cors

    我需要 WebApi Cors dll 用于 Web api 项目 我安装了 net 4框架的Web Api版本 因为我使用VS 2010 我尝试通过nuget安装web api cors lib Install Package Micro
  • 无法通过套接字'/tmp/mysql.sock'连接到本地MySQL服务器

    我是 Web 开发和 RoR 的新手 超级菜鸟 我正在通过 lynda com 参加在线 RoR 课程 很高兴加入 StackOverflow 社区 并且非常感谢一些解决障碍的帮助 当我设置基本应用程序并成功运行一些迁移时 MySQL 和
  • 使用实体框架时如何排除相关表

    db UploadFileSet Where f gt f Article ID id ToList ef 会自动加载文章 但我不需要它 我怎样才能阻止它 我知道我可以这样写 Select new XXX Id xxx Name xxx 但
  • 设置 CodePipeline - 部署步骤的状态为失败

    设置 CodeDeploy 时如下本教程 在Setup CodePipeline的最后一步下 如果我单击 失败 下的 详细信息 如果我单击链接到执行详细信息 部署失败 因为没有找到您的实例 部署组 检查您的部署组设置以确保 您的 Amazo
  • 如何使用“new”而不是“malloc”动态分配二维数组?

    我想使用二维指针制作矩阵 当我使用 malloc 和 free 函数来使用内存时没有问题 请参阅我的代码 但是 我无法使用 new 和 delete 编写相同的代码 如您所知 一维指针可以通过 new 声明 例如 double exampl
  • 如何通过 OWA REST API 获取附件内容 > ~35MB?

    我正在使用 OWA REST API 开发 OWA 插件 我收到了不好的请求400尝试通过 OWA REST API 获取大于 35MB 的附件时的状态代码 在 Outlook 中 用户能够上传高达约 35MB 的附件 通过 OWA RES
  • 使用 - 我的流会发生什么?

    也许这是一个琐碎的问题 但它困扰着我 如果它是重复的 请不要大喊大叫 我尝试搜索 但有很多关于使用的问题 我很难找到答案 我有这样的代码 using IsolatedStorageFile ISF IsolatedStorageFile G
  • Java堆内存错误

    我收到此错误 Exception in thread main java lang OutOfMemoryError Java heap space at com mysql jdbc MysqlIO nextRowFast MysqlIO
  • 如何使用 C++ API 将元数据附加到 LLVM IR?

    谁能给我指出使用 c api 将元数据附加到 llvm ir 的具体示例 我已阅读此页http llvm org docs SourceLevelDebugging html Thanks 上面的答案并不完全正确 或完整 您还可以仅使用 M
  • 不推荐从字符串文字到 char* 的转换[重复]

    这个问题在这里已经有答案了 我在代码中不断收到错误 从字符串文字到 char 的转换已被弃用 代码的目的是使用指针到指针为string1和string2分配一个单词 然后打印出来 我怎样才能解决这个问题 这是我的代码 include
  • 代码在迭代 86 时崩溃

    static void Job47 Args args str path stx TreeNodeIterator iter TreeNode treeNode treeNodeToRelease Map dictMenuDisplay F
  • 循环用户输入,直到用户输入有效的输入

    我学到了一点生锈的知识 通常在我的代码中我喜欢实现一个循环用户输入直到正确的函数 但在这种情况下它不起作用 我不知道为什么 我尝试过一种名为is ok 但这总是返回 false 代码如下 use std io macro rules inp
  • 没有开发者帐户 oAuth 的发布者 API

    我有些疑惑 我就这样坚持了一个星期 我正在开发一个应用程序来获取游戏商店的所有评论 它适用于在 Play 商店拥有帐户的所有最终用户 https developers google com android publisher getting
  • Visual Studio 2019 C++ - 概念标识符未定义

    我尝试在我的 cpp 项目中使用概念 该项目是使用 Visual Studio 2019 版本 16 4 1 编写的 但我收到错误消息 标识符 conecpt 未定义 据我所知 自版本 16 3 以来 Visual Studio 2019
  • Doctrine Regular 与 Fetch 连接

    从理论上讲 常规连接和获取连接有什么区别 我不明白仅仅通过阅读docs regular query em gt createQuery SELECT u FROM User u JOIN u address a WHERE a city B
  • 如何在 Angular 4 中使用多个 Http 请求

    我正在使用 Angular 4 和一个 API 制作一个简单的应用程序 该应用程序有几个页面可以满足他们的请求 例如 我使用此 url 获取前 10 个字符 http swapi co api people 为了获得接下来的 10 个人 我
  • 在使用独立应用程序之前,是否必须在系统上安装 .net core?

    我正在使用 Visual Studio 2019 发布一个独立的 net core 2 1 应用程序 发布期间会发出许多文件 应用程序文件以及核心库 但发布的文件中不包含 dotnet exe 如果没有 dotnet exe 我无法启动已发
  • Chart.js 在条形图和折线图上具有双轴

    我正在使用本主题中的 Quince 的 Chart js 版本Chart js如何获得组合条形图和折线图 条形图和折线图看起来非常漂亮 无论如何 轴必须分为 Y1 和 Y2 我找不到 Quince 的版本支持 我又搜索了一下 发现了这个主题
  • 将列转换为 2D 向量的 C++ 文本文件

    我有一个包含值的文本文件 我想将它们放入二维向量中 我可以用数组来做到这一点 但我不知道如何用向量来做到这一点 矢量大小应该像我事先不知道的 vector2D nColumns nLines 我最多可以在文本文件中包含列数 但不能包含行数