【问题标题】:C++: Using pointers with cin.getline()C++:使用带有 cin.getline() 的指针
【发布时间】:2012-08-11 19:39:24
【问题描述】:

我有这个程序不工作。

char arr[200] ;
char *p = arr;
cout << "Enter the string and press ENTER: ";
cin.getline(*p,200);

问题可能是因为我使用带有 cin.getline() 的指针。

我的问题是

是否可以在cin.getline中使用指针?

如果是的话。那怎么办?

如果没有。那为什么不呢,以及如何解决这个问题(尤其是将字符串传递给函数)?

【问题讨论】:

  • 以这种方式改变问题会使答案变得毫无意义。请还原更改,以便问题和答案匹配。您可以随时添加带有编辑的小节。

标签: c++ arrays string pointers cin


【解决方案1】:

是的,有可能,你只是语法错误。

cin.getline(p,200);

istream::getline 需要一个指针,因此无需像您那样取消引用它。

【讨论】:

    【解决方案2】:
    cin.getline(*p,200);
    

    *p 的类型为 char。您正在取消引用指向char 的指针,因此您又会得到一个char。你没有传递一个指针。只需传入p

    cin.getline(p, 200);
    

    【讨论】:

      猜你喜欢
      • 2020-03-01
      • 2016-09-02
      • 1970-01-01
      • 2016-11-03
      • 2018-07-05
      • 2020-03-21
      • 2021-03-31
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多