cgets
conio.h:インデックス への移動
ヘッダーファイル
conio.h
カテゴリ
コンソール入出力ルーチン
プロトタイプ
char *cgets(char *str);
説明
コンソールから文字列を読み取ります。
cgets は,コンソールから文字列を読み取り,str が指す場所に文字列(および文字列の長さ)を格納します。
cgets は,復帰改行(CR/LF)が見つかるか,読み取ることができる最大文字数まで,文字を読み取ります。cgets は,CR/LF を読み取ると,これを \0(ヌルターミネータ)に置き換えてから文字列を格納します。
cgets を呼び出す前に,str[0] を読み取る文字列の最大長に設定します。関数が戻ると,str[1] が実際に読み取られた文字数に設定されます。読み取られた文字は str[2] で開始し,ヌルターミネータで終了します。したがって,str は,str[0] に 2 バイトを加えた長さ以上でなければなりません。
メモ: Win32 GUI アプリケーションでは,この関数を使用しないでください。
戻り値
成功した場合,cgets は str[2] へのポインタを返します。
例
#include <stdio.h>
#include <conio.h>
int main(void)
{
char buffer[83];
char *p;
/* 80 文字にヌルターミネータを加えた分のスペースがあります */
buffer[0] = 81;
printf("Input some chars:");
p = cgets(buffer);
printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
/* 5 文字にヌルターミネータを加えた分のスペースを確保します */
buffer[0] = 6;
printf("Input some chars:");
p = cgets(buffer);
printf("\ncgets read %d characters: \"%s\"\n", buffer[1], p);
printf("The returned pointer is %p, buffer[0] is at %p\n", p, &buffer);
return 0;
}
移植性
POSIX | Win32 | ANSI C | ANSI C++ |
---|---|---|---|
+ |