从控制台获取字符串。
char *cgets(char *buffer);
例程 需要的头文件 兼容性
cgets <conio.h> Win NT,Win 95
对于另外兼容性的信息,参见引言中的兼容性
库
LIBC.LIB单线程静态库,零售版本
LIBCMT.LIB多线程静态库,零售版本
MSVCRT.LIBMSVCRT.DLL的输入库,零售版本
返回值
cgets返回该字符串起始指针,也就是buffer[2]。没有错误返回。
说明
cgets函数从控制台读一个字符串,并存储该字符串和它的长度到buffer所指的位置。
buffer参数必须是一个字符串的指针。该数组最一个一个元素buffer[0]必须包含所读字符串的最大长度(以字符为单位),该数组必须包含保存该字符串、一个空结束字符('\0')和另两个字节的足够元素。该函数读字符直到读到一个回车换行组合(CRLF)或者指定的字符数,该字符串以buffer[2]开始存储,如果该函数读一个CR-LF,它存储空格字符('\0')。然后,cgets在第二个数组元素即buffer[1]中存储该字符串的实际长度。因为cgets被调用时激活所有的编辑键,所以按F3重复最后的项。
例子
/* CGETS.C: This program creates a buffer and initializes
* the first byte to the size of the buffer: 2. Next, the
* program accepts an input string using cgets and displays
* the size and text of that string.
*/
#include <conio.h>
#include <stdio.h>
void main( void )
{
char buffer[82] = {80}; /* Maximum characters in lst byte */
char *result;
printf( "Input line of text, followed by carriage return:\n");
result = cgets( buffer ); /* Input a line of text */
printf( "\nLine length = %d\nText = %s\n", buffer[1], result );
}
输出结果
Input line of text, followed by carriage return:
This is a line of text
Line length = 22
Text = This is a line of text.
参见
getc
/*网络转载*/