აბრუნებს თუ არა Fscanf EOF-ს?
აბრუნებს თუ არა Fscanf EOF-ს?

ვიდეო: აბრუნებს თუ არა Fscanf EOF-ს?

ვიდეო: აბრუნებს თუ არა Fscanf EOF-ს?
ვიდეო: fscanf Function in C Programming Language Video Tutorial 2024, მაისი
Anonim

fscanf აბრუნებს EOF-ს თუ ფაილის დასასრული (ან შეყვანის შეცდომა) ხდება ნებისმიერი მნიშვნელობის შენახვამდე. თუ მნიშვნელობები ინახება, ის ბრუნდება შენახული ნივთების რაოდენობა; ანუ რამდენჯერ ენიჭება მნიშვნელობა ერთ-ერთს fscanf არგუმენტების მითითებები. EOF არის დაბრუნდა თუ რაიმე ელემენტის შეთავსებამდე მოხდა შეცდომა.

აქედან გამომდინარე, რას უბრუნებს Fscanf?

The fscanf () ფუნქცია ბრუნდება ველების რაოდენობა, რომლებიც მან წარმატებით დააკონვერტირა და მიანიჭა. The დაბრუნების ღირებულება აკეთებს არ მოიცავს ველებს, რომლებიც fscanf () ფუნქცია წაიკითხა, მაგრამ არ მიენიჭა. The დაბრუნების მნიშვნელობა არის EOF, თუ შეყვანის მარცხი ხდება ნებისმიერ კონვერტაციამდე, ან შეყვანის ელემენტების რაოდენობა, რომლებიც მინიჭებულია წარმატების შემთხვევაში.

ანალოგიურად, Fscanf კითხულობს სტრიქონს? Პრობლემა არის რომ შენი fscanf იქნება არასოდეს წაიკითხეთ ახალი ხაზი პირველის ბოლოს ხაზი . ასე რომ, როდესაც ის არის დარეკა მეორედ, ეს ნება წარუმატებლობა (უბრუნდება 0, არა EOF) და წაიკითხეთ არაფერი, ბუფერს ტოვებს უცვლელად.

ანალოგიურად, შეგიძლიათ იკითხოთ, რას აკეთებს Fscanf C-ში?

The fscanf () ფუნქცია გამოიყენება ფაილიდან ფორმატირებული შეყვანის წასაკითხად. ის მუშაობს ისევე, როგორც scanf() ფუნქცია, მაგრამ სტანდარტული შეყვანიდან მონაცემების წაკითხვის ნაცვლად ის კითხულობს მონაცემებს ფაილიდან.

რა არის ფაილის დასასრული C-ში?

EOF ნიშნავს ფაილის დასასრული . ეს იმის ნიშანია, რომ დასასრული ა ფაილი მიღწეულია და რომ მონაცემები აღარ იქნება. Linux სისტემებზე და OS X-ზე, სიმბოლო, რომელიც უნდა შეიყვანოთ EOF-ის გამოწვევისთვის არის CTRL+D. Windows-ისთვის ეს არის CTRL+Z.

გირჩევთ: