首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C++ -reading文件行

C++ -reading文件行
EN

Stack Overflow用户
提问于 2013-04-04 05:40:09
回答 2查看 108关注 0票数 0

我正在使用下面的代码来读取一个包含名字和姓氏的文件。

名字姓氏

名字姓氏

代码语言:javascript
复制
do
{   in >> tmp2;
    cout << tmp2;
} while(tmp2 != '\n');

然而,这并不能检测到行的结束,所以我不能前进,因为我得到了一个无限循环。注意: tmp2是一个字符。

我怎么才能解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-04 05:41:54

代码语言:javascript
复制
#include <iostream>
#include <fstream>
using namespace std;

int main() {   

    ifstream fin("file");
    string first, last, comment;
    while (fin >> first >> last) {
        cout << first << ' ' << last << endl;
        getline(fin, comment); // get the rest annoying strings
    }
    fin.close();

    return 0;
}
票数 2
EN

Stack Overflow用户

发布于 2013-04-04 05:52:12

一种解决方案:使用字符串流

代码语言:javascript
复制
std::stringstream sstrm;
std::string instr;
while (std::getline(std::cin, instr)) {
    sstrm.str(instr);
    std::string fname, lname;
    sstrm >> fname >> lname;
    std::cout << fname << ' ' << lname << '\n';
}

这会丢弃一行中前两个标记之后的所有内容。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15798666

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档