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()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。