using namespace std;
int main(int argc, char* argv[])
{
ofstream fout("cppstudio.txt"); // создаём объект класса ofstream для записи и связываем его с файлом cppstudio.txt
fout << "Работа с файлами в С++"; // запись строки в файл
fout.close(); // закрываем файл
system("pause");
return 0;
}
Bu dasturning to'g'ri ishlashini tekshirish uchun qolmoqda, Lekin buni amalga oshirish, faylni ochish cppstudio.txt va uning mazmuni qarash, bo'lishi kerak – Работа с файлами в С++.
Faylni o'qish uchun bir xil amallarni bajarish kerak bo'ladi, va ozgina o'zgartirishlar bilan bir faylga yozishda:
sinf ob'ektini yaratish ifstream va fayl bilan bog'lash, qaysi o'qish bo'ladi;
Faylni o'qib;
Faylni o'chirish.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
// file_read.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include
#include
using namespace std;
int main(int argc, char* argv[])
{
setlocale(LC_ALL, "rus"); // корректное отображение Кириллицы
char buff[50]; // буфер промежуточного хранения считываемого из файла текста
ifstream fin("cppstudio.txt"); // открыли файл для чтения
fin >> buff; // считали первое слово из файла
cout << buff << endl; // напечатали это слово
fin.getline(buff, 50); // считали строку из файла
fin.close(); // закрываем файл
cout << buff << endl; // напечатали эту строку
system("pause");
return 0;
}
|
dastur faylga o'qish uchun ikki yo'l ko'rsatadi, birinchi - yashayotganimizni transfer operatsiya yordamida, ikkinchi - yordamida getline(). Birinchi holda, faqat birinchi so'z o'qiladi, va ikkinchi chiziq o'qiladi, uzun 50 Fe'l. Lekin fayl kamroq qoladi, deb 50 Fe'l, va oxirgi shu jumladan up belgilarni o'qish. Esda tuting, bu ikkinchi marta o'qib (chiziq 17) davom, birinchi so'zdan keyin, juda bilan boshlangan nisbatan, birinchi so'z o'qib qilindi chiziq 14. chiqish, shakl ko'rsatilgan 1.
CppStudio.com
Ish
C fayllar
Davom ettirish uchun, biron-bir kalit bosing . . .
Surat 1 – C fayllar bilan ishlash
Dastur to'g'ri ishlagan, lekin har doim emas, shuning uchun, hatto holda, kodi barcha okay agar. Masalan, a yo'q faylning nomi yoki xato nomi o'tkazilishi dastur. Keyin nima? Bu holatda, hech narsa sodir. Fayl topilmadi, va shuning uchun u o'qish mumkin emas. Shuning uchun, derleyici chiziq e'tibor beradi, ish fayl ustida amalga oshiriladi, qaerda. O'chirish uchun dastur natijasida, lekin hech narsa, ekran ko'rsatiladi qilinmaydi. Shunday vaziyatga bir normal reaksiya ekanligini ko'rinadi. Lekin oddiy foydalanuvchi aniq bo'lmaydi, nima u va nima uchun ekranda faylning bir mag'lubiyatga paydo emas. Shunday, har bir narsa bir vazifani beradi C juda aniq bo'lishi uchun – is_open(), qaysi integer qadriyatlarini qaytaradi: 1 – Fayl muvaffaqiyatli ochildi bo'lsa, 0 – Fayl ochildi bo'lsa. Fayl ochish bilan dasturi maromiga, Shunday qilib,, Xabar ochish emasFayllarni ochish usullari bir ob'ekt yoki funktsiya chaqiruvi to'g'ridan-to'g'ri o'rnatilgan bo'lishi mumkin open().
1
2
|
ofstream fout("cppstudio.txt", ios_base::app); // открываем файл для добавления информации к концу файла
fout.open("cppstudio.txt", ios_base::app); // открываем файл для добавления информации к концу файла
|
Ochiq fayllar usullari bitwise mantiqiy operatsiya yordamida birlashtirilishi mumkin yoki |, masalan,: ios_base::out | ios_base::trunc – Yozish uchun faylni ochish, uni tozalanib, keyin.
Sinf ob'ektlari ofstream, default usullari bilan fayllar, bir guruh ochiq fayllar ichiga oladi qachon ios_base::out | ios_base::trunc. Bu fayl yaratiladi, deb, mavjud bo'lsa, hech qanday. Fayl mavjud bo'lsa, uning mazmuni o'chiriladi, va fayl saqlash uchun tayyor bo'ladi. Sinf ob'ektlari ifstream fayl bilan muloqot, Standart fayl ochiq holati bor ios_base::in – Fayl ochildi-faqat o'qish. Mode, shuningdek, bir faylni ochish, deyiladi – bayroq, okunabilirlik uchun, biz bu atamani ishlatishmagan davom etadi. Jadvalda 1 emas, balki barcha sanab flags, lekin bu birinchi etarli bo'lishi kerak.
Esda tuting, bayroqlar deb ate va app bayoni juda o'xshaydi, ular har ikki faylga markerni, lekin bayroq app saqlashingiz mumkin, Faqat fayl oxirida, va bayroq ate shunchaki fayl oxirida bayrog'ini qayta va kosmik rekord cheklash emas.
Dasturlarini ishlab chiqish, ekan, Jarrohlik foydalanish sizeof(), Bu C asosiy ma'lumotlar turlari xususiyatlarini hisoblash va bir faylga ularni yozish etadi. Texnik xususiyatlari:
bayt soni, ma'lumotlar turiga ajratilgan
maksimum, ma'lumotlar ma'lum bir turini saqlab mumkin.
Faylga yozishni bunday formatda amalga oshirilishi lozim:
1
2
3
4
5
6
7
8
9
10
11
12
|
/* data type byte max value
bool = 1 255.00
char = 1 255.00
short int = 2 32767.00
unsigned short int = 2 65535.00
int = 4 2147483647.00
unsigned int = 4 4294967295.00
long int = 4 2147483647.00
unsigned long int = 4 4294967295.00
float = 4 2147483647.00
long float = 8 9223372036854775800.00
double = 8 9223372036854775800.00 */
|
Bunday dastur allaqachon oldindan ishlab chiqildi Data turlari C , lekin standart ishlab chiqarish uchun ma'lumot ishlab chiqarish turlari haqida barcha ma'lumotlar bor, va biz shunday dasturini o'zgartirish kerak, faylga yozilgan ma'lumotlar. Buning uchun u yozuv holatida bir faylni ochish uchun zarur bo'lgan, Dastlabki joriy fayl ma'lumotlarini olishadi (chiziq 14). Fayl yaratilgan va muvaffaqiyatli ochildi bir marta (chiziqlar 16 – 20), o'rniga operatorining cout, yilda chiziq 22 Biz, bir ob'ekt foydalanish fout. Shunday qilib,, o'rniga ma'lumotlar turlari haqida ekran axborot faylga yozilgan bo'lishi mumkin.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
// write_file.cpp: определяет точку входа для консольного приложения.
#include "stdafx.h"
#include
#include // работа с файлами
#include // манипуляторы ввода/вывода
|
Do'stlaringiz bilan baham: |