目前学习用于输入字符数组两大函数
2024-01-10 12:20:21
第一个:cin.getline函数
代码(? ? 以char str[1001]为例? ?):
cin.getline(str, 1000);
解释:
? ? ?
cin.getline(str, 1000);
?是C++中用于从标准输入(通常是键盘)读取一行字符串的语句。这里,cin
?是C++标准库中用于输入的流对象,而?getline
?是一个成员函数,用于读取一行字符串。
具体来说,cin.getline(str, 1000);
?的功能如下:
- 它从标准输入读取最多999个字符(最后一个字符是空字符
\0
,用于标记字符串的结束)并存储在?str1
?中。 - 如果用户输入的字符数少于999个,那么?
str1
?会包含用户输入的所有字符,并且后面会自动加上空字符?\0
。 - 如果用户输入了1000个或更多的字符,那么只有前999个会被存储在?
str1
?中。超过部分会被忽略。 - 在读取之后,该函数还会检查并删除行末的换行符(如果存在)。
第二个:fgets函数
代码:
fgets(str,sizeof(str),stdin);
解释:
? ? ??
fgets(str, sizeof(str), stdin);
?是C语言中用于从标准输入读取一行字符串的函数调用。下面我将详细解释这个函数调用的每个部分:
- fgets: 这是C标准库中的一个函数,用于从指定的流中读取数据。在这里,它是从标准输入流?
stdin
?中读取数据。 - str: 这是一个字符数组,用于存储从输入流中读取的数据。
- sizeof(str): 这是一个C语言操作符,它返回其操作数(在这里是字符数组?
str
)的大小(以字节为单位)。这个大小包括数组的末尾的空字符?\0
。 - stdin: 这是一个预定义的文件指针,指向标准输入流。在大多数情况下,它对应于键盘输入。
函数的工作原理如下:
fgets
?从?stdin
(标准输入)读取数据,直到遇到换行符(\n
)、读取了?sizeof(str) - 1
?个字符,或者读取了文件结束符(EOF),以先出现的情况为准。- 读取的数据(包括可能的换行符)被存储在?
str
?中。
这个函数调用通常用于从用户那里获取一行输入,并确保不会发生缓冲区溢出(因为最多只会读取?sizeof(str) - 1
?个字符到?str
?中)。
一个用不了用另外一个,简简单单。
文章来源:https://blog.csdn.net/2301_80284843/article/details/135437940
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!