1.gets()
//这个方法只能定义字符串变量作为实参
2.cin.getline()和cin.get()
cin.get (char *str, int max),getline形参(类型)与之相同
区别:
get函数在缓冲区开辟max大小的空间,如果该空间没被完全利用,余下的空白会留给下一个变量,影响下一个变量的输入;即存在潜在风险,使用需谨慎。
而getline不存在这个问题,用多少开辟多少。
getline(cin, s);//getline在使用时可改写为这种简便形式
//这个方法只能定义字符串变量作为实参
cin.get (char *str, int max),getline形参(类型)与之相同
区别:
get函数在缓冲区开辟max大小的空间,如果该空间没被完全利用,余下的空白会留给下一个变量,影响下一个变量的输入;即存在潜在风险,使用需谨慎。
而getline不存在这个问题,用多少开辟多少。
getline(cin, s);//getline在使用时可改写为这种简便形式