小编Rad*_*cus的帖子

我何时以及为什么需要在C++中使用cin.ignore()?

我用C++编写了一个非常基本的程序,它要求用户输入一个数字,然后输入一个字符串.令我惊讶的是,在运行程序时,它永远不会停止询问字符串.它只是跳过了它.在对StackOverflow进行一些阅读后,我发现我需要添加一行说:

cin.ignore(256, '\n');
Run Code Online (Sandbox Code Playgroud)

在获取字符串输入的行之前.添加修复问题并使程序正常工作.我的问题是为什么C++需要这一cin.ignore()行,我如何预测何时需要使用cin.ignore()

这是我写的程序:

#include <iostream>
#include <string>

using namespace std;

int main()
{
    double num;
    string mystr;

    cout << "Please enter a number: " << "\n";
    cin >> num;
    cout << "Your number is: " << num << "\n";
    cin.ignore(256, '\n'); // Why do I need this line?
    cout << "Please enter your name: \n";
    getline (cin, mystr);
    cout << "So your name is " << mystr << "?\n";
    cout << "Have a nice …
Run Code Online (Sandbox Code Playgroud)

c++ ignore cin getline

51
推荐指数
4
解决办法
18万
查看次数

我什么时候应该用'return 0'结束一个C++程序?

我是C++的新手,我正在读一本名为Big C++的书.在本书中,我到目前为止看到的所有示例程序都return 0;在最终结束之前结束}.我显然可以让C++程序return 0;在最后运行,所以我想知道它的用途是什么.我熟悉从java中的方法返回一些东西,但我不明白为什么int main()需要在C++中返回0.为了得到更多关键点:我是否应该总是main()return 0;C++ 结束?如果没有,我什么时候需要,什么时候不应该?什么return 0;告诉程序要做什么?

在一个相关的问题中,我假设C++中的main()正在设置main函数,就像java中的main方法一样.那是对的吗?为什么main方法被声明为整数?那是在发生什么int main() {

c++ program-entry-point return

5
推荐指数
2
解决办法
1826
查看次数

标签 统计

c++ ×2

cin ×1

getline ×1

ignore ×1

program-entry-point ×1

return ×1