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_errlist
ve _sys_nerr
.
Açıklamalar
işlevi, fgets
giriş stream
bağımsız değişkenindeki bir dizeyi okur ve içinde str
depolar. 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.