C++ 中的gets() 函数从标准输入读取字符并存储它们,直到找到换行符或出现文件结尾。
gets()原型
char* gets(char* str);
gets()
函数从标准输入读取字符并将它们存储在str
中,直到找到换行符或文件结尾。
gets()
和fgets() 的区别在于gets()
使用stdin
流。如果提供了大输入字符串,gets()
函数不支持防止缓冲区溢出。
它在<cstdio> 头文件中定义。
注意:避免使用gets()
函数,因为它可能对程序很危险。此函数在 C++11 中已弃用并从 C++14 中删除。
参数:
str
:指向存储来自标准输入的字符的字符数组的指针。
返回:
- 成功时,
gets()
函数返回str
- 失败时返回
NULL
.- 如果失败是由于文件结束条件导致的,它会将 eof 指示器设置为
stdin
。 - 如果失败是由其他错误引起的,它会在
stdin
上设置错误指示器。
- 如果失败是由于文件结束条件导致的,它会将 eof 指示器设置为
示例:gets() 函数的工作原理
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
char str[100];
cout << "Enter a string: ";
gets(str);
cout << "You entered: " << str;
return 0;
}
运行程序时,可能的输出将是:
Enter a string: Have a great day! You entered: Have a great day!
相关用法
- C++ getline(string)用法及代码示例
- C++ getchar()用法及代码示例
- C++ getwchar()用法及代码示例
- C++ getc()用法及代码示例
- C++ get_allocator()用法及代码示例
- C++ getenv()用法及代码示例
- C++ getwc()用法及代码示例
- C++ gmtime()用法及代码示例
- C++ unordered_map cbegin用法及代码示例
- C++ map lower_bound()用法及代码示例
- C++ Unordered_multimap reserve()用法及代码示例
- C++ list assign()用法及代码示例
- C++ std::max()用法及代码示例
- C++ std::string::push_back()用法及代码示例
- C++ Array swap()用法及代码示例
- C++ valarray cos用法及代码示例
- C++ multimap key_comp()用法及代码示例
- C++ Deque erase()用法及代码示例
- C++ List cend()用法及代码示例
- C++ std::less_equal用法及代码示例
注:本文由纯净天空筛选整理自 C++ gets()。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。