表示: Delphi
C++
表示設定
cgets
提供:RAD Studio XE2
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++ |
|---|---|---|---|
|
+ |