Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ C++;_C++_String_Getline - Fatal编程技术网

C++ C++;

C++ C++;,c++,string,getline,C++,String,Getline,为什么getline函数不在这里接受输入 #包括 #包括 使用名称空间std; int main(){ 无符号n{},m{}; cin>>n>>m; 字符串集; getline(cin,set); coutstd::getline(istream&,std::string&)的工作方式与var的工作方式不同。 当您使用cin>>var时,正确的输入被正确地吸收到var中,如果前面有一个空格,它将被忽略,但是std::getline不会忽略空格,因此我们使用std::cin.ignore()忽略\

为什么getline函数不在这里接受输入

#包括
#包括
使用名称空间std;
int main(){
无符号n{},m{};
cin>>n>>m;
字符串集;
getline(cin,set);
cout
std::getline(istream&,std::string&)
的工作方式与var
的工作方式不同。 当您使用
cin>>var
时,正确的输入被正确地吸收到var中,如果前面有一个空格,它将被忽略,但是
std::getline
不会忽略空格,因此我们使用
std::cin.ignore()
忽略
\n
。如果不忽略它,字符串将遇到它,然后不会吸收行,因为
std::getline()
在遇到
\n
时停止

#include <iostream>
    #include <string>
    using namespace std;

    int main() {
        unsigned n {}, m {};
        cin >> n >> m;

        string set;
        cin.ignore();
        getline(cin, set);
        cout<<set<<endl;
        return 0;
    }
#包括
#包括
使用名称空间std;
int main(){
无符号n{},m{};
cin>>n>>m;
字符串集;
cin.ignore();
getline(cin,set);

这能回答你的问题吗?你能解释一下@anonymous吗??

#include <iostream>
    #include <string>
    using namespace std;

    int main() {
        unsigned n {}, m {};
        cin >> n >> m;

        string set;
        cin.ignore();
        getline(cin, set);
        cout<<set<<endl;
        return 0;
    }