C++ dasturlash tilida matnli va binar fayllar taqdimot

C++ dasturlash tilida matnli va binar fayllar taqdimot

O'quvchilarga / Informatika va AT
C++ dasturlash tilida matnli va binar fayllar taqdimot - rasmi

Material tavsifi

Matnli va binar fayllar Massivlarni qayta ishlash Masala: input.txt faylda sonlar ustun shaklida berilgan. Soni noma'lum, lekin 100 tadan ko'p emas. Bu sonlarni o'sish tartibida output.txt faylga yozing. Muammo: Saralash uchun barcha sonlarni xotiraga olish kerak (massiv); Sonlar soni noma'lum. yechish: Xotiradan 100 ta elementga joy ajrating; O'qilgan sonlarni massivga yozing va sonni N ga bering; Massivni N ta elementini saralang; Ularni faylga yozing. Ma'lumotlarni massivga yozish int ReadArray ( int A[], char fName[], int MAX ) int N = 0, k; FILE *f; f = fopen ( fName, r ); while ( 1 ) k = fscanf ( f, %d, A[N]); if ( k != 1 ) break; N ++; if ( N = MAX ) break; fclose(f); return N; Fayldan massivni o'quvchi funksiya massiv elementlar sonini chiqaradi (kamida MAX): massiv Agarda o'qish mumkin bo'lmasa sikldan chiqish fayl nomi chegara … yoki massiv to'ldi Dastur main() int A[100], N, i; FILE *f; N = ReadArray ( A, input.txt, 100 ); N ta elementni saralash f = fopen(output.txt, w); for ( i = 0; i N; i ++) fprintf ( f, %dn, A[i] ); fclose ( f ); int ReadArray(int A[], char fName[], int MAX) saralangan massivni faylga chiqarish for (i = 0; i N-1; i ++) for (j = N-2; j = i; j --) if (A[j] A[j+1]) c = A[j]; A[j] = A[j+1]; A[j+1] = c; Saralash algoritmi Ikkilik fayllari Muhimligi: Ma'lumotlar mashina formatida saqlanadi (matnli redaktorda o'qib bo'lmaydi) Xotiradan biror qismini o'qishimiz va yozishimiz mumkin (faqat bitlarda…) Sendvich prinsipi (ochish - ishlash - yopish) Faylga ko'rsatkich orqali murojaat. Faylli ko'rsatkich FILE *fp; Ikkilik faylni ochish va yopish Faylni ochish fp = fopen ( input.dat, rb ); rb = read binary (oqish) wb = write binary (yozish) ab = append binary (qo'shish) Ochishdagi xatolik if ( fp == NULL ) printf(fayl ochilmadi.); Faylni yopish fclose ( fp ); Blok bo'yicha o'qish Massiv boshidan o'qish int A[100]; n = fread ( A, sizeof(int), 100, fp ); Xotiradagi manzil(«qaerga»): A  A[0] Bitta blok o'lchami Butun tipli o'zgaruvchi o'lchami Bloklar soni Faylga ko'rsatkich O'qilganlar Massiv o'rtasidan o'qish int A[100]; n = fread ( A+5, sizeof(int), 2, fp ); 2 ta butun son o'qiladi: A[5], A[6] Bloklar bo'yicha o'qish Vassiv boshidan yozish int A[100]; ...


Ochish
Joylangan
Fayl formati zip → ppt
Fayl hajmi 28.7 KB
Ko'rishlar soni 279 marta
Ko'chirishlar soni 17 marta
O'zgartirgan san'a: 29.03.2025 | 00:19 Arxiv ichida: ppt
Joylangan
Fayl formati zip → ppt
Fayl hajmi 28.7 KB
Ko'rishlar soni 279 marta
Ko'chirishlar soni 17 marta
O'zgartirish kiritilgan: Arxiv ichida: ppt
Tepaga