在 C++ 中使用 getline() 进行文件输入

2024-01-23

我正在尝试用 C++ 完成一个简单的初学者任务。我有一个包含该行的文本文件 “约翰·史密斯 31”。就是这样。我想使用 ifstream 变量读取此数据。但我想将名称“John Smith”读入一个字符串变量,然后将数字“31”读入一个单独的 int 变量。

我尝试使用getline函数,如下:

ifstream inFile;
string name;
int age;

inFile.open("file.txt");

getline(inFile, name); 
inFile >> age; 

cout << name << endl;
cout << age << endl;  

inFile.close();    

问题在于它输出整行“John Smith 31”。有没有办法让 getline 函数在获取名称后停止,然后“重新启动”以检索号码?不操作输入文件,就是这样?


getline http://en.cppreference.com/w/cpp/string/basic_string/getline顾名思义,读取整行,或者至少读取到可以指定的分隔符。

所以答案是“不”,getline不符合您的需求。

但你可以这样做:

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

在 C++ 中使用 getline() 进行文件输入 的相关文章

随机推荐

  • 无法使用 Windows 10 安装 Firebase Tools cli

    您好 我无法在 Windows 中通过命令行安装 firebase 工具 我使用下面的命令 npm install g firebase tools 输入此命令后 我收到以下错误 npm 错误 路径 C Users data AppData
  • 使用 OpenSSL API 读取公钥的密码回调

    当使用公钥加密技术时 通常习惯以加密格式存储私钥 因为它们当然应该是秘密的 这反映在 OpenSSL C API 中 它提供了诸如PEM write PrivateKey 它采用一个可选密码作为函数参数 用于加密密钥 如 AES 然后 当从
  • 通过 Amazon SNS 和 Unity 的 iOS APNS - 无法创建开发 iOS 证书

    我正在尝试通过 Unity 中的 Amazon SNS 设置推送通知 我的 Android 方面工作得很好 但 iOS 方面却遇到了问题 我能够让设备注册到苹果生产SNS 应用程序并订阅主题 但一旦我尝试发送通知 端点 已启用 状态就会变为
  • Javascript:“取消”动态脚本标签?

    我使用动态脚本标签从外部域请求 javascript 有时请求花费的时间太长 如果请求时间太长 是否可以停止请求或超时 我不想使用 xmlhttprequest 因为我想避免使用服务器端代理 Thanks 话虽如此 动态添加脚本有多种方法
  • x/2 和 x>>1 或 x*2 和 x << 1 之间的差异,其中 x 是整数

    正如我们所知 计算整数 x 2 我们只需编写y x 2 对于 x 2 也类似 但优秀的程序员会使用位操作来计算这个值 他们只是做y x gt gt 1 这两种方法有什么区别吗 我所说的差异是指所需时间 空间 内存的差异 或者两者完全相同 即
  • 如何获取select2:unselect的值

    我怎样才能获得未选择选项的值Select2 https select2 github io using select2 unselect mySelect on select2 unselect function e var unselec
  • 重命名android中的包名称

    我想在我的项目中重命名包名称 到目前为止我有 9 个包 当我更改包名称时 更改是在 java 和 xml 文件中完成的 但在Manifest xml文件中 活动定义部分 包活动在重命名包后不会改变 请帮我 Android Tools 中有一
  • Camel - 流缓存不缓存/无法转换?

    读完一遍之后 我似乎失去了 内在 的身体 请注意 我使用的是 Camel 的流缓存 并且输入是来自 http 组件的 json 文件 我有一个带有以下代码的处理器 log debug Body Type exchange getIn get
  • 使用 jsonp 来自 Jquery 的 REST WCF url 中的 javascript 错误

    当我尝试从 jsonp 执行 REST WCF 服务时 出现 javascript 错误 网页错误详细信息 User Agent Mozilla 4 0 compatible MSIE 8 0 Windows NT 6 1 WOW64 Tr
  • 如何在Android RxJava中使用flatMap在不使用lambda函数的情况下顺序调用三个Web服务?

    我的 API 客户端 public class ApiClient public static final String BASE URL http baseurl com wp json private static Retrofit r
  • 生成 test-jar 以及测试包中的 jar 文件

    我想将我的测试包打包成jar文件 如何从maven插件Surefire执行生成test jar 通过使用以下配置 您可以从测试中创建一个 jar
  • 相当于 Python 2 中 BytesIO 的 getbuffer

    在Python 3中 我可以通过以下方式获取ByteIO对象的大小object getbuffer nbytes where object ByteIO 但是什么是最好的等价物getbuffer 在 Python 2 中 做了一些探索 我发
  • Bash 中对除数进行四舍五入

    我如何舍入两个除数的结果 例如 3 2 就像我做的时候一样 testOne 3 2 testOne 包含 1 而它应该四舍五入为 2 作为 3 2 1 5 的答案 要在截断算术中进行舍入 只需添加 denom 1 到分子 示例 向下舍入 N
  • 使用用户定义或 python 命令序列的 C++ 线程不会在 gdb 异步模式下停止

    我在嵌入式 powerpc 目标上使用 gdb 7 4 1 对使用 pthread 的多线程 C 程序执行一些分析 我的最终目标是使用 python 编写 gdb 脚本来自动化一些常见的分析功能 问题是 当我单独运行命令与在 gdb 用户定
  • 通过 jQuery 检测对特定 HTML 5 功能的支持

    我正在编写一些 HTML5 演示代码 包括类似的内容
  • python 中的 Chrome 扩展?

    我想创建一个 google chrome 扩展 具体来说 我想制作一个打包应用程序 但不是托管应用程序 我认为这将我限制在 JavaScript 和 HTML CSS 方面是否正确 我的问题是我需要做一些复杂的数学 奇异值分解 因子分析 并
  • 如何在 OMNeT++ 仿真过程中更改网络配置?

    我想修改element的一些参数 iniOMNeT 中的文件 例如模拟运行期间节点的传输速率 例如当节点收到一些控制消息时 我发现信息表明可以以某种方式循环配置 如下所示 一些变量 几个值 但是里面没有条件子句 ini文件 并且无法将来自
  • 反应本机滚动视图-scrollToEnd-在Android上

    我正在尝试调用一个将在 onFocus on 上触发的函数TextInput这将使scrollView一直向下滚动 使用scrollToEnd 所以这是我的班级组件 class MyCMP extends Component constru
  • python维护两个不同的随机实例

    我正在尝试进行一些分析 出于 原因 我希望程序中的每个对象都有自己的种子 但没有全局种子 我能完成这样的事情吗 a random seed seed1 b random seed seed1 for a in range 5 print a
  • 在 C++ 中使用 getline() 进行文件输入

    我正在尝试用 C 完成一个简单的初学者任务 我有一个包含该行的文本文件 约翰 史密斯 31 就是这样 我想使用 ifstream 变量读取此数据 但我想将名称 John Smith 读入一个字符串变量 然后将数字 31 读入一个单独的 in