cgets

提供: RAD Studio
移動先: 案内検索

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++

+