Returnerar Fscanf EOF?
Returnerar Fscanf EOF?

Video: Returnerar Fscanf EOF?

Video: Returnerar Fscanf EOF?
Video: C - Program argument från kommandoraden och input via tangentbordet 2024, Maj
Anonim

fscanf returnerar EOF om slutet av filen (eller ett inmatningsfel) inträffar innan några värden lagras. Om värden lagras, det returnerar antalet lagrade föremål; det vill säga antalet gånger ett värde tilldelas ett av fscanf argument pekare. EOF är returnerad om ett fel uppstår innan några objekt matchas.

Härav, vad returnerar Fscanf?

De fscanf () funktion returnerar antalet fält som framgångsrikt konverterats och tilldelats. De lämna tillbaka värde gör inte inkludera fält som fscanf () funktion läst men tilldelade inte. De lämna tillbaka värdet är EOF om ett inmatningsfel inträffar före någon konvertering, eller antalet tilldelade indataobjekt om det lyckas.

På samma sätt läser Fscanf rad för rad? Problemet är att din fscanf kommer aldrig läsa den nya raden i slutet av den första linje . Så när det är ringde andra gången, det kommer misslyckas (returerar 0, inte EOF) och läsa ingenting, vilket lämnar bufferten oförändrad.

På samma sätt kan du fråga dig, vad gör Fscanf i C?

De fscanf ()-funktionen används för att läsa formaterad indata från filen. Det fungerar precis som scanf()-funktionen men istället för att läsa data från standardingången läser den data från filen.

Vad är slutet på filen i C?

EOF betyder slutet av filen . Det är ett tecken på att slutet av en fil nås, och att det inte kommer att finnas några uppgifter längre. På Linux-system och OS X är tecknet som ska matas in för att orsaka en EOF CTRL+D. För Windows är det CTRL+Z.

Rekommenderad: