将读取的 char 转换为 int C++

2023-12-27

在我的程序中,带有要读取的值(最多 2 位数字)的文件名在终端中给出,我的 main() 如下所示:

int main ( int argc, char *argv[] )
{
   //assume argv[1] is a filename to open
   ifstream the_file ( argv[1] )
   if ( !the_file.is_open() ){
      cout<<"Could not open file" << endl;
      return 0;
   }

   char x;
   int array[10];
   int x_int;
   while ( the_file.get ( x ) ){
        for (int i=0; i<10;i++){
             array[i] = (int)x;
        }
   }
      
}

但是,我得到了一些奇数。

我的错误肯定是在array[i] = (int)x;线,但是

如何将读取的 char 值转换为 int?或者还有其他方法可以将它们读取为 int 类型吗?

我希望将从输入文件中获取的值作为整数而不是单个数字

我的实际输入文件(.txt)是:

75
95
1
2
45
65
98
6
7
9

如何将读取的 char 值转换为 int?

你可以通过写来解决这个问题

array[i] = x - '0';

ASCII 字符如'1' or '5'不能直接转换以获得它们的数字等价物。确保您在执行此操作时一直在读取数字字符,例如使用std::isdigit() http://en.cppreference.com/w/cpp/string/byte/isdigit功能。


至于问题编辑后您最关心的问题:

或者还有其他方法可以将它们读取为 int 类型吗?

常用的读入方法int类型只是应用std::istream& operator>>(std::istream&, int&) like so

int array[10];
int i = 0;
int x_int;
while ( the_file >> x_int && i < 10) {
    array[i] = x_int;
    ++i;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将读取的 char 转换为 int C++ 的相关文章

  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • 以文化中立的方式将字符串拆分为单词

    我提出了下面的方法 旨在将可变长度的文本拆分为单词数组 以进行进一步的全文索引处理 删除停止词 然后进行词干分析 结果似乎不错 但我想听听关于这种实现对于不同语言的文本的可靠性的意见 您会建议使用正则表达式来代替吗 请注意 我选择不使用 S
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到
  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • 在哪里可以找到列出 SSE 内在函数操作的官方参考资料?

    是否有官方参考列出了 GCC 的 SSE 内部函数的操作 即 头文件中的函数 除了 Intel 的 vol 2 PDF 手册外 还有一个在线内在指南 https www intel com content www us en docs in
  • 查找c中结构元素的偏移量

    struct a struct b int i float j x struct c int k float l y z 谁能解释一下如何找到偏移量int k这样我们就可以找到地址int i Use offsetof 找到从开始处的偏移量z
  • 从Web API同步调用外部api

    我需要从我的 Web API 2 控制器调用外部 api 类似于此处的要求 使用 HttpClient 从 Web API 操作调用外部 HTTP 服务 https stackoverflow com questions 13222998
  • 在 Windows 窗体中保存带有 Alpha 通道的单色位图会保存不同(错误)的颜色

    在 C NET 2 0 Windows 窗体 Visual Studio Express 2010 中 我保存由相同颜色组成的图像 Bitmap bitmap new Bitmap width height PixelFormat Form
  • 如何从 appsettings.json 文件中的对象数组读取值

    我的 appsettings json 文件 StudentBirthdays Anne 01 11 2000 Peter 29 07 2001 Jane 15 10 2001 John Not Mentioned 我有一个单独的配置类 p
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 重载<<的返回值

    include
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 这些作业之间是否存在顺序点?

    以下代码中的两个赋值之间是否存在序列点 f f x 1 1 x 2 不 没有 在这种情况下 标准确实是含糊不清的 如果你想确认这一点 gcc 有这个非常酷的选项 Wsequence point在这种情况下 它会警告您该操作可能未定义
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • 如何从两个不同的项目中获取文件夹的相对路径

    我有两个项目和一个共享库 用于从此文件夹加载图像 C MainProject Project1 Images 项目1的文件夹 C MainProject Project1 Files Bin x86 Debug 其中有project1 ex
  • 测试用例执行完成后,无论是否通过,如何将测试用例结果保存在变量中?

    我正在使用 NUNIT 在 Visual Studio 中使用 Selenium WebDriver 测试用例的代码是 我想在执行测试用例后立即在变量中记录测试用例通过或失败的情况 我怎样才能实现这一点 NUnit 假设您使用 NUnit
  • Windows 和 Linux 上的线程

    我在互联网上看到过在 Windows 上使用 C 制作多线程应用程序的教程 以及在 Linux 上执行相同操作的其他教程 但不能同时用于两者 是否存在即使在 Linux 或 Windows 上编译也能工作的函数 您需要使用一个包含两者的实现

随机推荐

  • HTA:“此计算机上的安全设置禁止访问另一个域上的数据源”

    我正在像其他两个线程一样处理相同的错误消息 作为主题 禁止 JavaScript HTM 页面中的 ADO 安全警告 https stackoverflow com questions 24778918 suppress ado secur
  • React:我可以向子级生成的 HTML 添加属性吗?

    我有一个包装其他组件的组件 class MyComp extends React Component render return div this props children div 假设我添加了另一个随机组件作为子组件
  • 从 C# .NET 应用程序调用 Delphi DLL

    编辑 我在下面发布了一个更好的实现 我将其留在这里 以便回复有意义 我已经进行了大量搜索 寻找在 Delphi 中编写 DLL 的正确方法 并能够从 C 调用它 传递和返回字符串 许多信息不完整或不正确 经过多次尝试和错误 我找到了解决方案
  • 系统参数信息返回 0

    include
  • 具有自定义属性的延迟作业

    我正在将延迟作业 3 0 2 与 ActiveRecord 和 Rails 3 2 3 一起使用 我有一个使用 has secure password mixin 的用户模型 因此密码仅以加密方式存储 现在我想使用延迟作业发送欢迎电子邮件
  • 使用 ThreadLocal 作为数据上下文是个好主意吗?

    使用 ThreadLocal 作为 Web 应用程序中数据的上下文是个好主意吗 这就是它的目的 但请注意删除上下文末尾的 ThreadLocal 否则可能会出现内存泄漏 或者至少会保留未使用的数据太长时间 ThreadLocals 也非常快
  • 如何使用 LinqToExcel 获取 Excel 文件的工作表名称?

    我正在使用 LinqToExcel 我希望能够获取 Excel 文件中所有工作表的名称 并将它们与 html 表单中的输入值进行比较 这样当输入值与 Excel 工作表上的任何名称不匹配时 系统会抛出异常 我该如何使用 LinqToExce
  • 调用 $(this) 内部的元素? [复制]

    这个问题在这里已经有答案了 可能的重复 如何在元素内查找元素 https stackoverflow com questions 7386100 how to find an element within an element 我运行一个循
  • 如何获取设备的android_id? [复制]

    这个问题在这里已经有答案了 可能的重复 Android 设备有唯一的 ID 吗 https stackoverflow com questions 2785485 is there a unique android device id 在许
  • li 浮动与显示:内联

    有没有最好的选择float left or display inline用于水平对齐列表项 eg http www vanseodesign com css simple navigation bar with css and xhtml
  • 在 gcc 和 MSVC 中以不同方式调用函数参数的析构函数

    在将一些 C 代码从 Microsoft Visual Studio 移植到 gcc 时 我遇到了一个奇怪的错误 我最终将其归结为 include
  • Apache HttpClient 响应内容长度返回 -1

    为什么下面的代码返回 1 看来请求失败了 public static void main String args DefaultHttpClient httpClient new DefaultHttpClient HttpGet http
  • SaaS - 多租户独立数据库模型在 Java 中的实现

    我正在构建一个软件项目 我想实现 SAAS 软件即服务 模型 我想设计一个与多租户兼容的 Web 应用程序 每个租户都有单独的数据库 我如何在Java环境中设计多租户UI UI本质上应该是租户可配置的 如何为每个租户单独的数据库设计数据访问
  • 如何将字符串解析为 BigDecimal? [复制]

    这个问题在这里已经有答案了 我有这个字符串 10 692 467 440 017 120 这是一个金额 我想将其解析为 BigDecimal 问题是我尝试了 DecimalFormat 和 NumbeFormat 都没有成功 Try thi
  • 是否可以将数据库加载到 RAM 中?

    我想将 MYSQL 数据库加载到我的计算机 RAM 中 有办法做到这一点吗 我在Linux下运行这个数据库 另外 如果可以的话 有没有一个好的方法来进行备份 因为如果计算机意外关闭 我将丢失所有数据 如果缓冲池足够大 那么您的数据实际上就是
  • django-cms 编辑器和 HTML 数据属性已清理

    使用 django cms 2 4 我需要创建包含引导代码的页面 但使用的 html5lib 会清理 data 属性 无论您是否在 TINYMCE DEFAULT CONFIG 中指定 valid element 我仍在为 Wymedito
  • R 4.0.0 之前安装了软件包“XXX”:请重新安装

    我正在使用 R 4 0 2 我手动安装了 2 个软件包cfcdae and Stats5303lib from here http users stat umn edu 7Egary classes 5303 software html 我
  • PHP if/else 简写符号 - 多个条件

    请考虑以下代码构造 condition code if true condition2 code if true2 code if false 这不适用于 PHP 但适用于 JavaScript 有没有办法让它在 PHP 上工作 In PH
  • 将 Airflow 日志格式化为 JSON

    我有一个要求记录阿帕奇气流 https airflow apache org 以 JSON 格式记录到 stdout Airflow 似乎并未立即提供此功能 我找到了几个能够完成此任务的 python 模块 但我无法让实现工作 目前 我正在
  • 将读取的 char 转换为 int C++

    在我的程序中 带有要读取的值 最多 2 位数字 的文件名在终端中给出 我的 main 如下所示 int main int argc char argv assume argv 1 is a filename to open ifstream