`gets` 函数是 C 言语规范库中的一个函数,用于从规范输入读取一行文本,直到遇到换行符或文件结束符。它的原型如下:
```cchar gets;```
其间,`str` 是一个字符数组,用于存储读取的字符串。假如成功读取,`gets` 函数回来指向 `str` 的指针;假如遇到文件结束符或过错,则回来 `NULL`。
需求留意的是,`gets` 函数没有约束能够读取的字符数,因而假如输入的字符串超过了 `str` 的容量,它会导致缓冲区溢出,这是一个严峻的安全问题。因而,在 C11 规范中,`gets` 函数现已被标记为不安全的,并且在未来的 C 规范中或许会被移除。
为了防止缓冲区溢出,能够运用 `fgets` 函数来替代 `gets` 函数。`fgets` 函数答应指定最大读取的字符数,包含空字符。它的原型如下:
```cchar fgets;```
其间,`n` 是最大读取的字符数(包含空字符),`stream` 是输入流(通常是 `stdin`)。假如成功读取,`fgets` 函数回来指向 `str` 的指针;假如遇到文件结束符或过错,则回来 `NULL`。
以下是一个运用 `fgets` 函数的示例:
```cinclude
int main { char str; printf; fgets, stdinqwe2; printf; return 0;}```
在这个示例中,`fgets` 函数从规范输入读取最多 99 个字符(包含空字符),并将它们存储在 `str` 数组中。程序输出用户输入的文本。
深化了解C言语中的gets函数
gets函数是C言语规范库中的一个函数,用于从规范输入(通常是键盘)读取一行文本。本文将深化探讨gets函数的用法、留意事项以及为什么在现代编程中应防止运用它。
gets函数的原型如下:
char gets(char str);
运用gets函数的示例代码如下:
include
int main() {
char str[100];
printf(\
未经允许不得转载:全栈博客园 » c言语gets,深化了解C言语中的gets函数