c++ - 即使>>和getline都获取null输出,即使我正在使用字符串空白

标签 c++ string getline

我正在尝试通过使用>>或getline的用户输入来添加变量,但是它们都给它们提供了空值。众所周知,getline不会忽略前导空格字符,这就是为什么我使用诸如employeeName=" "; string designation=" ";这样的字符串空格的原因。
谁能帮我获得正确的输出

class Employee{
  public:
  int employeeId,salary;
  string employeeName=" ";
  string designation=" ";
  void getEmployee(){
    cin>>employeeId;
    getline(cin,employeeName);
    getline(cin,designation);
    cin>>salary;
  }
  void ShowEmployee(){
    cout<<"Employee Id="<<employeeId<<"\n";
    cout<<"Employee Name="<<employeeName<<"\n";
    cout<<"Designation="<<designation<<"\n";
    cout<<"Salary="<<salary<<"\n";
  }
};
int main() {
  Employee ob;
  ob.getEmployee();
  ob.ShowEmployee();
}

enter image description here
谁能帮我 :)

最佳答案

但是您没有在示例中调用getEmployee。你忘了吗?

您也可以尝试将std::istream&传递给它的构造函数,例如

Employee(std::istream& in) {
  in >> this->employeeId;
  in >> this->salary;
  ....
}

关于c++ - 即使>>和getline都获取null输出,即使我正在使用字符串空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60964601/

相关文章:

c++ - 使用模板实现排序类

php - javascript 和 php 中字符串与数组的处理速度,以及数组是否可以在不进行操作的情况下传递给 php?

c++ - 逐行从文本文件中读取数据,在 C++ 中用多个定界符分隔

c++ - 寻找第 3 方 Qt 甘特图组件

c++ - 在 Code::Blocks 中设置 wxWidgets?

c++ - 在 C::B 上使用 Borland 配置 OpenCV 2.2

arrays - 在一个段落中添加 N 个换行符以获得最窄的结果

c++ - 如何在字符串数组中存储更多数量的字符串

c++ - 读取数据时std::ws(whitespace)的作用

c++ - C++中getline的段错误