使用cin.getLine()

时间:2012-02-27 14:27:34

标签: c++

我在使用cin.getLine()

时遇到问题
/*
 * 
 */

int main(int argc, char** argv) {
  char *first, last;


  cout << "Enter your first anames: ";
  cin.getline(first,255);
  cout << "Your initials are " << first;

  return 0;
}

3 个答案:

答案 0 :(得分:2)

cin.getline(first, 255)cin中提取字符并将其作为c字符串存储到从first开始的数组中,这意味着必须首先初始化first。检查this example

您可以将first声明为静态数组:char first[256];或者您可以将其声明为std::string并使用getline(cin, first)代替。

答案 1 :(得分:2)

首先没有初始化。它没有指向字符数组。

由于您使用的是C ++:

std::string first; 
getline(cin, first);

答案 2 :(得分:0)

您正在定义一个char指针first和一个char last。您应该定义两个缓冲区:char first[1024], last[1024]。这允许您为阵列分配内存空间。