c++ - C ++:将一行读为:'string string;int'
问题描述
我最近开始编码(学校课程)并遇到了一个小问题。我想读取一个 .txt 文件,这些行就像“名字姓氏;电话号码”。
ifstream file("names.txt");
string line, fname, lname;
int num;
while (getline(file, line)) {
istringstream iss(line);
iss >> fname >> lname >> num;
}
所以问题是姓氏是姓氏+“;” + 电话号码,我不知道如何将它们分开。任何帮助表示赞赏:)
编辑:感谢您的快速回复!
解决方案
两种可能的解决方案:
一种相对简单的方法是
fname
像现在一样阅读,然后使用std::getline
with';'
作为分隔符(而不是默认的换行符)来获取lname
. 然后你可以读入num
.像
fname
现在这样。然后lname;num
进入第二个字符串。找到分号并创建两个子字符串,一个 forlname
,一个 fornum
。然后将包含的字符串num
转换为整数(在我对 OP 的评论中提到了警告)。
推荐阅读
- html - tf.keras.utils.get_file in Colab coverts csv to html format
- mongodb - MongoDB 使用 _id 按日期聚合
- ios - SwiftUI - Set statusbar background color to align with navigation bar
- vhdl - 无法创建项目 (Modelsim)
- ios - AppStore ios版本需要ipad媒体
- ios - 由于连接错误,网络请求失败
- javascript - D3.js 创建颜色渐变世界地图
- rhel7 - RHEL7,AD 帐户的 pam_mount 问题
- c# - Azure API 调用在控制台应用程序中工作而不是在 MVC 中
- javascript - 如何去除图像后的重影空间