首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >跳过getline

跳过getline
EN

Stack Overflow用户
提问于 2018-03-19 17:40:28
回答 1查看 40关注 0票数 1

我试图让这个程序工作,但在它应该读取内容字符串的部分,它只是跳过。也许是因为缓冲区中已经有一些我不知道的东西。

代码语言:javascript
复制
struct Task {
    int priority;
    string content;
    Task * nxtTask;
};

void addTask(Task *, int, string);
Task * newTask(int, string, Task *);


int main() {

    Task * t1 = nullptr;

    int choice;

    do {
        string content;
        cin >> choice;
        switch(choice) {
            case 1:

                break;
            case 2:
                cout << "Enter the priority of the task.\n>? ";
                int priority;
                cin >> priority;
                cout << "What's the content of the task?\n>? ";
                getline(cin, content);
                addTask(t1, priority, content);
                break;
            case 3: 

                break;

        };
    } while (choice > 0);

    return 0;
}

Task * newTask(int priority, string content, Task * nxtTask) {

    Task * task = new Task;
    task->priority = priority;
    task->content = content;
    task->nxtTask = nxtTask;

    return task;
}

void addTask(Task * t1, int priority, string content) {

    t1 = newTask(priority, content, nullptr);
    return;
}

我该怎么办?

EN

回答 1

Stack Overflow用户

发布于 2018-03-19 17:57:15

在getline之前添加cin.clear()

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

https://stackoverflow.com/questions/49359796

复制
相关文章

相似问题

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