在 C++ 错误中读取空格分隔值文件

2024-01-24

我正在尝试从文件中获取浮点值以在我的程序中使用它们。我使用以下论坛来构建程序逐行读取文件 https://stackoverflow.com/questions/7868936/c-read-file-line-by-line.
但这样做获得的值似乎在最后被截断了。

My code

#include <iostream>
#include <cstring>
#include <sstream>
#include <fstream>
using namespace std;

int main()
{

ifstream file;
file.open("test_file.ssv");
string line;
while(file.good() && (getline(file, line)))
{
    istringstream iss(line);
    double a, b, c;
    iss >> a >> b >>c ;
    cout << a <<endl;
}
file.close();
return (0);
}

我得到的输出是

9292.31
32432.2

虽然我的文件有以下数据

9292.3123 4234.66 342.25423
32432.2423 3423.656 341.67841

有什么建议可以改进这一点吗?


您的标准流可能具有较低的浮点精度,因此在输出时您只能看到几个小数float with std::cout. Use std::ios_base::precision提高精度并考虑使用std:: ios::floatfield输出固定或科学精度,例如:

// modify precision
#include <iostream>     // std::cout, std::ios

    int main () {
      double f = 3.14159;
      std::cout.unsetf ( std::ios::floatfield );                // floatfield not set
      std::cout.precision(5);
      std::cout << f << '\n';
      std::cout.precision(10);
      std::cout << f << '\n';
      std::cout.setf( std::ios::fixed, std:: ios::floatfield ); // floatfield set to fixed
      std::cout << f << '\n';
      return 0;
    }

Outputs:

3.1416 3.14159 3.1415900000

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

在 C++ 错误中读取空格分隔值文件 的相关文章

  • OpenGL纹理渲染与原始不匹配

    我正在尝试使用 OpenGL 渲染纹理 我用作测试的纹理是白色背景上的一堆黑色矩形 如下所示 然而 在渲染时 纹理似乎被复制并叠加在其自身之上多次 我使用以下方法设置场景 std string vertexSource ShaderLoad
  • 使用来自本地对象的消息的 std::Exception

    以下代码是否可以安全地抛出带有自定义消息的异常 include
  • 如何指定CMAKE外部项目的编译器?

    我使用ExternalProject Add 包含一个外部项目 我想要的是能够做到 cmake DCMAKE CXX COMPILER
  • C 中的分段错误

    我需要用 0 填充二维数组 但编译后的程序会出现此错误 怎么了 int main int vert 1001 1001 int hor 1001 1001 int dudiag 1416 1416 int uddiag 1416 1416
  • ZedGraph 缩放和调整大小

    当我绘制图形 放大和缩小并重新绘制图形时 图形的位置不会改变 我想要做的是 每当重新绘制数据时 视图都会更改以查看所有图形数据 如果您在重绘之前放大或缩小 这似乎会被禁用 Thanks 设置属性 IsZoomOnMouseCenter对于控
  • 错误 C2064:术语不计算为采用 1 个参数的函数

    class Student bool Graduate return m bGraduate class School vector
  • 有哪些 API 可在 Windows 中使用 C# 配置扬声器设置?

    我环顾了很多不同的地方 但似乎找不到一个简单的方法来做到这一点 我在 Windows 7 中有多个声卡 并使用 HDMI 将声音输出到我的 AVR 放大器 我遇到的问题是 当放大器关闭时 它会导致窗口丢失扬声器配置 所以我想做的是编写一个小
  • 了解 MVC-5 身份

    我创建了一个新的ASP NET MVC 5申请与Individual User Accounts然后更新了所有的Nuget packages在解决方案中 现在我尝试遵循一些教程中显示的一些指南 但遇到了一些问题 第一个是一个名为Applic
  • 使用 MapViewOfFile 有什么限制吗?

    我正在尝试将内存映射文件用作 hFile CreateFile State Path GENERIC READ FILE SHARE READ FILE SHARE WRITE 0 OPEN EXISTING FILE FLAG SEQUE
  • 编译器在函数名称前添加下划线前缀的原因是什么?

    当我看到 C 应用程序的汇编代码时 如下所示 emacs hello c clang S O hello c o hello s cat hello s 函数名称以下划线作为前缀 例如callq printf 为什么这样做以及它有什么优点
  • 锁定文件的一个块

    我有一个大小为 192k 的文件 我想锁定文件的中间部分 例如 我想用 c 锁定文件的 64k 128k 知道如何锁定文件的那部分吗 你需要使用锁定文件Ex http msdn microsoft com en us library win
  • DLL 中的 XP 风格组合框

    我需要使用 C 和 WIN32 API 无 MFC 在 DLL 中创建 XP 风格的组合框 我设法在 DLL 中创建控件 不是以 XP 风格 我设法在带有清单的 exe 中创建 XP 样式组合框 但它在 DLL 中不起作用 为了让您的 DL
  • C语言:如何获取使用strtok()一次后剩余的字符串

    我的字符串是 A B C D E 分隔符是 如何获取执行 strtok 一次后剩余的字符串 即 B C D E char a A B C D E char separator char b strtok a separator printf
  • MPI_Gatherv:根数组中收到的垃圾值

    我正在尝试实施MPI Gatherv函数于C 根据我的程序 包括 root 在内的每个进程都应该创建一个大小等于 进程的等级 1 这将在所有单元格中保持进程的等级 然后这个本地数组被收集到根的 rcv array 中 不知何故 我得到了垃圾
  • 将函数作为函数参数传递

    Unity C 似乎无法识别Func lt gt 作为函数委托的符号 那么 如何将函数作为函数参数传递呢 我有一个想法Invoke functionName 0 可能有帮助 但我不确定它是否实际上立即调用该函数 或者等待帧结束 还有别的办法
  • 使用std::begin()、std::end()将ArrayXd转换为stl向量,

    在我看来我应该能够使用std begin and std end 转换ArrayXd to std vector
  • C# 记录类型:记录子类之间的相等比较

    给定父记录类型 public record Foo string Value 和两个记录子类Bar and Bee我想知道是否可以实施Equals在基类中 因此 Foo Bar 或 Bee 的实例都被考虑equal基于Value 两者都与E
  • 字符串常量之前应有非限定 ID

    我目前正在编写一个 C 应用程序 它与 math h 结合实现了振荡器 我拥有的代码应该可以很好地用于该应用程序 尝试编译目标文件 但是我遇到编译器错误 很可能与语法 等有关 我认为这与命名空间有关 错误 终端输出 User Name Ma
  • 如何使用字符串的值将字符串转换为 wstring?

    我是 C 新手 我有这个问题 我有一个名为 DATA DIR 的字符串 需要将其格式化为 wstring string str DATA DIR std wstring temp L s str Visual Studio 告诉我没有与参数
  • 散列 hash_hmac 时,Convert.ToChar(0) 散列结果与 PHP 中的 chr(0) 不同的字符串

    我在 PHP 中有一个字符串 它被转换为字节数组并进行哈希处理 转换为字节数组的字符串如下所示 G 字符 0 便便 我需要 C 中的等效字节数组 这样我才能得到相同的哈希值 编辑 这是完整的问题 生成的哈希值不同 PHP api secre

随机推荐

  • iOS UIWebView 完全无法理解多个@font-face?

    请注意这个简单的 css html 它显示在本地 UIWebView 中 有模拟器显示它 请注意 有两个 font face 定义 But 只有第二个有效 如果你交换它们 只有第二个有效 所以在这里 font face font famil
  • Spring 项目突然无法加载上下文 - 没有代码更改

    我正在开发一个使用 Spring Data JPA 的 Spring 3 应用程序 昨天 该项目在 TeamCity 中构建良好 但今天构建在本地和构建服务器上失败没有任何代码更改 堆栈跟踪提到了命名空间处理程序 这是配置文件的命名空间部分
  • 将 MouseWheel 消息发送到 System.Windows.Forms.WebBrowser

    我想转发MouseWheel在表单级别生成的事件 以便它们将由嵌入式处理WebBrowser控件 即使该控件没有焦点 这是我所做的 实施的IMessageFilter PreFilterMessage 注册了过滤器Application A
  • 仅显示 x 轴上的时间标签。高图表

    我只需要在 xAxis 上显示时间标签 我正在使用 Highcharts 但不完全了解如何操作 在 xAxis 上应该有格式类似于 21 00 的时间标签 我不需要日期 只需要时间 另外 两个标签之间的差异应该是00 30 半小时 或01
  • 使用“+”(数组联合运算符)合并两个数组是如何工作的?

    我有一些代码似乎使用以下方法合并两个数组中的数据 但它不包括该元素中的所有元素 它是如何工作的 Example test array hi test array test oh var dump test Output array 2 0
  • 如何使用 Poetry 发布到 Azure Devops PyPI 源?

    我正在尝试设置 Azure Devops 以使用 Poetry 发布到 PyPI 提要 我了解 Twine 身份验证以及将凭据存储到 Azure Key Vault 但有没有更直接的方法呢 像这样的事情 script source venv
  • C# DllImport 不存在的函数

    我们有一些从外部 DLL 调用非托管代码的 C 代码 外部DLL作为插件使用 并且可能具有不同的版本 不同的版本包含一组略有不同的可用功能 当我们 DllImport 一个不存在的函数时会发生什么 当我们调用它时会发生什么 我们能否在调用特
  • iOS 7:UIWebView 由于范围异常而崩溃

    我目前正在构建一个使用 krpano 查看器的应用程序 它是一个用 JavaScript 构建的全景查看器 我正在 UIWebView 中加载此全景查看器 其中包含保存在 iPad 上的本地图像 但使用全景查看器一段时间后 我收到此错误并且
  • 更新到 ember-cli 0.39 后请求代理停止工作

    我刚刚将项目从 ember cli 0 37 更新到 0 39 并且 api 请求不再代理到 Rails 后端 我已经运行 ember init 并更新依赖项 但它仍然不起作用 ember cli 0 39 余烬 1 6 0 beta 5
  • 混合 32 位和 64 位托管程序集

    All 我有一个在 32 位计算机上运行的 NET 托管应用程序 我可以将其编译为 64 位并将其移植到 64 位计算机上 不过 我依赖于一些 32 位程序集的第 3 方 DLL 我可以将 64 位和 32 位程序集混合在一起在 64 位计
  • JS中如何将十进制转换为二进制?

    可以通过以下方式将二进制转换为十进制 var binary 110 var int parseInt binary 2 document getElementById results innerHTML int div div 但是 我如何
  • 查找R中以逗号分隔的字符串的长度[重复]

    这个问题在这里已经有答案了 我是 R 的新手 我有一个场景来计算 R 中以逗号分隔的每个字符串的长度 我有一个以下数据框 其中有一个列值 我要找出此列中用逗号分隔的每个单元格的长度 我知道这与paste 但无法让它工作 ex DF Valu
  • 在Python中,如何找到排序列表中第一个大于阈值的值的索引? [复制]

    这个问题在这里已经有答案了 在Python中 如何找到排序列表中第一个大于阈值的值的索引 我可以想到几种方法来做到这一点 线性搜索 手写二分法 但我正在寻找一种干净且相当有效的方法来做到这一点 由于这可能是一个非常常见的问题 我相信经验丰富
  • Javascript提示仅读取输入数字的第一位

    我正在做一个快速的小练习 我试图允许用户输入 5 个随机数字 并让我的脚本按升序排列它们 但它只适用于单位数字 例如 当用户输入 27 时 程序会将其视为简单的 2 我不确定是什么导致了这种情况发生 并且我愿意接受任何建议 另外 代码没有尽
  • WPF 当子级的宽度绑定到父级的实际宽度时会发生什么

    因此 如果我在子对象的宽度上放置了一个绑定 将其链接到其父对象ActualWidth 会发生什么 我的猜测是 父级测量子级想要多少宽度 子级告诉父级 0 宽度 然后在排列期间为父级提供实际空间 并且它尝试给子级零 因为子级不想要任何宽度 然
  • 删除 ListViewItem 的突出显示效果

    In a ListView有ListviewItems当鼠标悬停在其上方或被选中时 它们不得改变外观 我尝试用这种风格来实现这一点并且做到了somewhat成功
  • Azure DevOps Pipelines - 规模集代理:安装 Docker

    我们最近重新配置了构建流程 使其完全在容器中运行 现在我们希望从本地构建代理迁移到使用 Azure 规模集中的代理 我们希望避免为 Azure 规模集维护自己的 VM 映像 并选择使用 Azure 中提供的默认 Ubuntu 18 04 L
  • android中的scrollView和页脚问题

    在我的 Android 应用程序中 我使用页眉和页脚 在两者之间 我在滚动视图内有一个表格 问题是 即使我使用与页眉相同的方式添加页脚 我也无法看到页脚include tag 如果我将滚动视图的高度和宽度设置为某个指定的长度 它可以正常工作
  • 配置Emacs Flymake直接调用g++

    当编写简单的 一个文件的C 代码时 我通常直接调用g 默认情况下 Flymake 似乎假设存在带有检查语法目标的 Makefile 如何配置 Flymake 直接调用 g 例如 g c a cpp 如果可以修改答案以包含编译器标志 那就更好
  • 在 C++ 错误中读取空格分隔值文件

    我正在尝试从文件中获取浮点值以在我的程序中使用它们 我使用以下论坛来构建程序逐行读取文件 https stackoverflow com questions 7868936 c read file line by line 但这样做获得的值