Aracılığıyla paylaş


fgets, fgetws

Bir akıştan dize alma.

Sözdizimi

char *fgets(
   char *str,
   int numChars,
   FILE *stream
);
wchar_t *fgetws(
   wchar_t *str,
   int numChars,
   FILE *stream
);

Parametreler

str
Verilerin depolama konumu.

numChars
Okunacak karakter sayısı üst sınırı.

stream
Yapı işaretçisi FILE .

Dönüş değeri

Bu işlevlerin her biri döndürür str. NULL bir hatayı veya dosya sonu koşulunu belirtmek için döndürülür. Hata oluşup oluşmadığını belirlemek için veya ferror kullanınfeof. Veya stream null işaretçiyse veya sıfırdan küçükse veya numChars sıfıra eşitsestr, bu işlev Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisini çağırır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVAL ve işlevi döndürür NULL.

İade kodları hakkında daha fazla bilgi için bkz. errno, _doserrno, _sys_errlistve _sys_nerr.

Açıklamalar

işlevi, fgets giriş stream bağımsız değişkenindeki bir dizeyi okur ve içinde strdepolar. fgets geçerli akış konumundan ilk yeni satır karakterine, akışın sonuna kadar veya okunan karakter sayısı - 1'e numChars (hangisi önce gelirse) eşit olana kadar karakterleri okur. içinde str depolanan sonuç null karakterle eklenir. Yeni satır karakteri (okunduysa) dizeye eklenir.

fgetws , öğesinin geniş karakterli bir sürümüdür fgets.

fgetws , geniş karakter bağımsız değişkenini str sırasıyla metin modunda veya ikili modda açıldığında çok baytlı bir dize olarak veya geniş karakterli bir dize stream olarak okur. Unicode ve çok baytlı akış G/Ç'de metin ve ikili mod kullanma hakkında daha fazla bilgi için bkz . Metin ve ikili mod dosya G/Ç ve metin ve ikili modlarda Unicode akış G/Ç.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H olağan _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_fgetts fgets fgets fgetws

Gereksinimler

İşlev Gerekli başlık
fgets <stdio.h>
fgetws <stdio.h> veya <wchar.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// crt_fgets.c
// This program uses fgets to display
// the first line from a file.

#include <stdio.h>

int main( void )
{
   FILE *stream;
   char line[100];

   if( fopen_s( &stream, "crt_fgets.txt", "r" ) == 0 )
   {
      if( fgets( line, 100, stream ) == NULL)
         printf( "fgets error\numChars" );
      else
         printf( "%s", line);
      fclose( stream );
   }
}

Girdi: crt_fgets.txt

Line one.
Line two.

Çıktı

Line one.

Ayrıca bkz.

Akış G/Ç
fputs, fputws
gets, _getws
puts, _putws