我在使用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;
}
答案 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]
。这允许您为阵列分配内存空间。