千万不要用 gets 函数,用 getline
by Carnival @ 2021-09-26 21:17:09
@[异想之旅](/user/353878) `gets()`函数非常危险,可能导致缓冲区溢出。如果使用字符数组,请使用`std::cin.get()`;如果使用`std::string`,请使用`std::getlien()`。
by 一只大龙猫 @ 2021-09-26 21:27:19
@[一只大龙猫](/user/511907) 写错力,是 `std::getline()`
by BurningEnderDragon @ 2021-09-26 21:52:57
@[BurningEnderDragon](/user/386876) 谢谢大佬指出【鞠躬】【鞠躬】
by 一只大龙猫 @ 2021-09-27 20:23:31
@[一只大龙猫](/user/511907) 这样子还是没有分……
```cpp
cin >> ss >> tt >> w;
char s = 'a' - 1 + ss, t = 'a' - 1 + tt;
char a[100];
cin.getline(a, sizeof(a));
cin.getline(a, sizeof(a));
// cin.get(a);
// gets(a);
```
多谢再帮忙看看
by 异想之旅 @ 2021-09-27 21:23:31
@[异想之旅](/user/353878) 您可以尝试使用 C++ 中的 `std::string`,并且如下面的示例,使用 `std::getline()` 输入整行字符串(包括空格,并且去除行末的换行符):
```cpp
#include <iostream>
#include <string>
using namespace std;
string s;
int main()
{
getline(cin,s);
}
```
by BurningEnderDragon @ 2021-09-27 21:27:28