• Giga@hdv-tech.com
  • 24H ონლაინ სერვისი:
    • 7189078c
    • sns03
    • 6660e33e
    • youtube 拷贝
    • ინსტაგრამი

    C, დოკუმენტის კითხვა და წერა

    გამოქვეყნების დრო: აგვისტო-11-2023

    აღწერს, თუ როგორ ქმნის, ხსნის და ხურავს C პროგრამისტი ტექსტურ ფაილს ან ორობით ფაილს.

    ფაილი ნიშნავს ბაიტების სერიას, იქნება ეს ტექსტური ფაილი თუ ორობითი ფაილი, C ენა, არა მხოლოდ უზრუნველყოფს წვდომას უმაღლესი დონის ფუნქციებზე, არამედ უზრუნველყოფს ძირეულ (OS) ზარს ფაილების შესანახ მოწყობილობაზე დასამუშავებლად. . ეს თავი განმარტავს დოკუმენტების მართვის მნიშვნელოვან მოწოდებებს.

    ღია ფაილი

    როგორც წესი, იყენებს fopen () ფუნქციას ახალი ფაილის შესაქმნელად ან არსებული ფაილის გასახსნელად, ეს გამოძახება ახდენს FILE ტიპის ობიექტის ინიციალიზებას, რომელიც შეიცავს ყველა საჭირო ინფორმაციას ნაკადის გასაკონტროლებლად. აქ არის ამ ფუნქციის გამოძახების პროტოტიპი:

    FILE *fopen ( const char * ფაილის სახელი , const char * რეჟიმი );

    აქ ფაილის სახელი არის სტრიქონი ფაილის დასასახელებლად, წვდომის რეჟიმის მნიშვნელობა შეიძლება იყოს ერთ-ერთი შემდეგი მნიშვნელობა:

    ნიმუში

    აღწერა

    r

    გახსენით არსებული ტექსტური ფაილი, რომელიც მის წაკითხვის საშუალებას იძლევა.

    w

    გახსენით ტექსტური ფაილი, რომელიც საშუალებას გაძლევთ ჩაწეროთ ფაილში. თუ ფაილი არ არსებობს, იქმნება ახალი ფაილი. აქ თქვენი პროგრამა წერს შინაარსს ფაილის დასაწყისიდან. თუ ფაილი არსებობს, ის შეიკვეცება ნულამდე და ხელახლა ჩაიწერება.

    a

    გახსენით ტექსტური ფაილი და ჩაწერეთ ფაილში დამატების რეჟიმში. თუ ფაილი არ არსებობს, იქმნება ახალი ფაილი. აქ, თქვენი პროგრამა ამატებს შინაარსს იმ ფაილებს, რომლებიც უკვე გაქვთ.

    r+

    გახსენით ტექსტური ფაილი, რომელიც საშუალებას გაძლევთ წაიკითხოთ და დაწეროთ ფაილი.

    w+

    გახსენით ტექსტური ფაილი, რომელიც საშუალებას გაძლევთ წაიკითხოთ და დაწეროთ ფაილი. თუ ფაილი უკვე არსებობს, ფაილი იჭრება ნულოვანი სიგრძით, ხოლო თუ ფაილი არ არსებობს, იქმნება ახალი ფაილი.

    a+

    გახსენით ტექსტური ფაილი, რომელიც საშუალებას გაძლევთ წაიკითხოთ და დაწეროთ ფაილი. თუ ფაილი არ არსებობს, იქმნება ახალი ფაილი. წაკითხვა იწყება ფაილის დასაწყისში და ჩაწერა მხოლოდ დამატების რეჟიმშია.

    თუ დამუშავებულია ორობითი ფაილი, გამოიყენეთ შემდეგი წვდომის რეჟიმი ზემოაღნიშნულის ჩასანაცვლებლად:

    "rb", "wb", "ab", "rb+", "r+b", "wb+", "w+b", "ab+", "a+b"

    დახურული ფაილი

    ფაილის დასახურად გამოიყენეთ fclose() ფუნქცია. ფუნქციის პროტოტიპი შემდეგია:

    int fclose (FILE *fp);

    • თუ ფაილი წარმატებით დაიხურა, fclose() ფუნქცია აბრუნებს ნულს, ხოლო თუ შეცდომა დააბრუნებს EOF-ს. ეს ფუნქცია, ფაქტობრივად, შლის მონაცემებს ბუფერიდან, ხურავს ფაილს და ათავისუფლებს ამ ფაილისთვის გამოყენებულ მთელ მეხსიერებას. EOF არის მუდმივი, რომელიც განსაზღვრულია სათაურის ფაილში stdio.h

    C სტანდარტული ბიბლიოთეკა უზრუნველყოფს სხვადასხვა ფუნქციებს ფაილების წაკითხვისა და ჩაწერისთვის სიმბოლოების ან ფიქსირებული სიგრძის სტრიქონის სახით.

    ჩაწერეთ ფაილში

    აქ მოცემულია უმარტივესი ფუნქციები ნაკადში სიმბოლოების ჩასაწერად:

    int fputc (int c, FILE *fp);

    ფუნქცია fputc () წერს c პარამეტრის სიმბოლოს მნიშვნელობას გამომავალ ნაკადში, რომელზეც მიუთითებს fp. თუ ჩაწერა წარმატებულია, ის აბრუნებს დაწერილ სიმბოლოს და EOF-ს, თუ შეცდომა მოხდება. თქვენ შეგიძლიათ გამოიყენოთ შემდეგი ფუნქცია ნაკადზე null-ით დამთავრებული სტრიქონის დასაწერად:

    int fputs (const char *s, FILE *fp);

    ფუნქცია fputs () წერს ს სტრიქონს გამომავალ ნაკადში, სადაც fp მიუთითებს. თუ ჩაწერა წარმატებულია, ის აბრუნებს არაუარყოფით მნიშვნელობას და EOF-ს, თუ შეცდომა მოხდება. ასევე შეგიძლიათ გამოიყენოთ int fprintf ფუნქცია (FILE * fp, const char * ფორმატი,...) წერს სტრიქონს ფაილში. სცადეთ შემდეგი მაგალითი:

    შენიშვნა: დარწმუნდით, რომ გაქვთ ხელმისაწვდომი tmp დირექტორია და თუ ის არ არსებობს, ჯერ უნდა შექმნათ იგი თქვენს კომპიუტერში.

    / tmp ჩვეულებრივ დროებითი დირექტორია Linux სისტემაში. თუ თქვენ მუშაობთ Windows სისტემაზე, თქვენ უნდა შეცვალოთ იგი ადგილობრივ გარემოში არსებულ დირექტორიაში, როგორიცაა: C: \ tmp, D: \ tmp და ა.შ.

    ცოცხალი მაგალითი

    #შეიცავს int main () { FILE *fp = NULL ; fp = fopen ("/tmp/test.txt", "w+"); fprintf (fp , "ეს არის ტესტირება fprintf...\n"); fputs ("ეს არის ტესტირება fputs...\n ", fp ); fclose (fp); }

    როდესაც ზემოაღნიშნული კოდი შედგენილია და შესრულდება, ის ქმნის ახალ ფაილს test.txt / tmp დირექტორიაში. და წერს ორ სტრიქონზე ორი განსხვავებული ფუნქციის გამოყენებით. მოდით წავიკითხოთ ეს ფაილი შემდეგში.

    წაიკითხეთ ფაილი

    შემდეგი არის უმარტივესი ფუნქცია ფაილიდან ერთი სიმბოლოს წასაკითხად:

    int fgetc (FILE * fp);

    fgetc () ფუნქცია კითხულობს სიმბოლოს შეყვანის ფაილიდან, რომელზეც მიუთითებს fp. დაბრუნების მნიშვნელობა არის წაკითხული სიმბოლო და EOF, თუ შეცდომა მოხდა. შემდეგი ფუნქცია საშუალებას გაძლევთ წაიკითხოთ სტრიქონი ნაკადიდან:

    char *fgets (char *buf, int n, FILE *fp);

    ფუნქცია fgets () კითხულობს n-1 სიმბოლოს შეყვანის ნაკადიდან, რომელიც მიმართულია fp. ის კოპირებს წაკითხულ სტრიქონს ბუფერულ ბუფერში და ანიჭებს ნულ სიმბოლოს ბოლოს სტრიქონის დასასრულებლად.

    თუ ეს ფუნქცია ბოლო სიმბოლოს წაკითხვამდე შეხვდება გატეხილი ხაზის სიმბოლოს '\ n' ან ფაილის ბოლოს EOF-ს, დაბრუნდება მხოლოდ წაკითხულ სიმბოლოებზე, ხაზების წყვეტების ჩათვლით. თქვენ ასევე შეგიძლიათ გამოიყენოთ int fscanf (FILE * fp, const char * format,...) ფუნქცია ფაილიდან სტრიქონის წასაკითხად, მაგრამ ის წყვეტს კითხვას, როდესაც ხვდება პირველ სივრცეს და ხაზს.

    ცოცხალი მაგალითი

    #შეიცავს int main () { FILE *fp = NULL ; char buff [255]; fp = fopen ("/tmp/test.txt", "r"); fscanf (fp, "%s", buff); printf ("1: %s \n ", buff ); fgets (buff , 255, (FILE *)fp ); printf ("2: %s \n ", buff ); fgets (buff , 255, (FILE *)fp ); printf ("3: %s \n ", buff ); fclose (fp); }

    როდესაც ზემოაღნიშნული კოდი შედგენილია და შესრულებულია, ის კითხულობს წინა განყოფილებაში შექმნილ ფაილებს და იძლევა შემდეგ შედეგებს:

    1: ეს 2: არის ტესტირება fprintf-ზე...

    3: ეს არის ტესტირება fputs-ისთვის...

    პირველი, fscanf() მეთოდი მხოლოდ წაიკითხავს This .რადგან ის ხვდება სივრცეს უკანა მხარეს. მეორე, მოვუწოდებთ functon fgets () დარჩენილი ნაწილის წასაკითხად სტრიქონის ბოლომდე. დაბოლოს, გამოიძახეთ fgets () მეორე რიგის სრულად წასაკითხად.

    ორობითი I/O ფუნქცია

    შემდეგი ორი ფუნქცია გამოიყენება ორობითი შეყვანისა და გამოსვლისთვის:

    size_t fread (void *ptr , size_t size_of_elements , size_t_number_of_elements , FILE *a_file ); size_t fwrite (const void *ptr , size_t size_of_elements , size_t_number_of_elements , FILE *a_file );

    ორივე ფუნქცია იკითხება და წერს შენახვის ბლოკებს - ჩვეულებრივ მასივებს ან სტრუქტურებს.

    C ფაილის წაკითხვისა და ჩაწერის შესახებ ზემოთ მოცემულია HDV Phoelectron Technology Ltd., პროგრამული ტექნიკური ოპერაცია. და ქსელთან დაკავშირებული აღჭურვილობის კომპანია (როგორიცაა: ACONU/ კომუნიკაციაONU/ ინტელექტუალურიONU/ ბოჭკოვანიONUდა ა.შ.) შეკრიბა მძლავრი პროგრამული უზრუნველყოფის გუნდი, ყოველი მომხმარებლისთვის შეცვალოს ექსკლუზიური მოთხოვნები, რომლებსაც ეს სჭირდებათ, ასევე მიეცით ჩვენი პროდუქტები უფრო ინტელექტუალური და მოწინავე.



    ვებგვერდი