Другие языки программирования и технологии
Работа с бинарными файлами. Народ, SOS. Нужна помощь
Подскажите как создать бинарный файл, изменить его и его же прочитать?
FILE *outFile("filename.bin", "bw");
//запись в файл
fclose(outFile);
FILE *inFile("filename.bin", "br");
//чтение файла
fclose(inFile);
или
#include < cstring >
#include < fstream >
#include < iostream >
class info
{
private:
char name[15];
char surname[15];
int age;
public:
info()
:name()
,surname()
,age(0)
{
memset(name, 0, sizeof name);
memset(surname, 0, sizeof surname);
}
void input()
{
to_file();
}
void readfile()
{
from_file();
}
void to_file()
{
std::ofstream fs("example.bin", std::ios::out | std::ios::binary);
fs.write(name, sizeof name);
fs.write(surname, sizeof surname);
fs.write(reinterpret_cast(&age), sizeof age);
fs.close();
}
void from_file()
{
std::ofstream fs("example.bin", std::ios::in | std::ios::binary);
fs.read(name, sizeof name);
fs.read(surname, sizeof surname);
fs.read(reinterpret_cast(&age), sizeof age);
fs.close();
}
};
int main()
{
info ob;
std::cout << "Your name:" << std::endl;
std::cin.getline(name, 15);
std::cout << "Your surname:" << std::endl;
std::cin.getline(surname, 15);
std::cout << "Your age:" << std::endl;
std::cin >> age;
ob.input();
ob.readfile();
std::cout << "Your name:" << name << std::endl;
std::cout << "Your surname:" << surname<< std::endl;
std::cout << "Your age:" << age<<std::endl;
}
//запись в файл
fclose(outFile);
FILE *inFile("filename.bin", "br");
//чтение файла
fclose(inFile);
или
#include < cstring >
#include < fstream >
#include < iostream >
class info
{
private:
char name[15];
char surname[15];
int age;
public:
info()
:name()
,surname()
,age(0)
{
memset(name, 0, sizeof name);
memset(surname, 0, sizeof surname);
}
void input()
{
to_file();
}
void readfile()
{
from_file();
}
void to_file()
{
std::ofstream fs("example.bin", std::ios::out | std::ios::binary);
fs.write(name, sizeof name);
fs.write(surname, sizeof surname);
fs.write(reinterpret_cast(&age), sizeof age);
fs.close();
}
void from_file()
{
std::ofstream fs("example.bin", std::ios::in | std::ios::binary);
fs.read(name, sizeof name);
fs.read(surname, sizeof surname);
fs.read(reinterpret_cast(&age), sizeof age);
fs.close();
}
};
int main()
{
info ob;
std::cout << "Your name:" << std::endl;
std::cin.getline(name, 15);
std::cout << "Your surname:" << std::endl;
std::cin.getline(surname, 15);
std::cout << "Your age:" << std::endl;
std::cin >> age;
ob.input();
ob.readfile();
std::cout << "Your name:" << name << std::endl;
std::cout << "Your surname:" << surname<< std::endl;
std::cout << "Your age:" << age<<std::endl;
}
Неплохо было бы еще язык указать.
Если С/С++, то кури функции
fopen(), fwrite(), fread(), fclose()
Если С/С++, то кури функции
fopen(), fwrite(), fread(), fclose()
В Паскале это типизированные файлы. Пример записи:
type
t_subscriber = record
surname: string[20];
tel: LongInt;
end;
var
subscriber: t_subscriber;
f: file of t_subscriber;
i: Integer;
begin
Assign(f,'notebook.dat');
Rewrite(f);
for i:=1 to 5 do begin
with subscriber do begin
Write('Surname: ');
ReadLn(surname);
Write('Phone: ');
ReadLn(tel);
end;
Write(f, subscriber);
end;
Close(f);end.
type
t_subscriber = record
surname: string[20];
tel: LongInt;
end;
var
subscriber: t_subscriber;
f: file of t_subscriber;
i: Integer;
begin
Assign(f,'notebook.dat');
Rewrite(f);
for i:=1 to 5 do begin
with subscriber do begin
Write('Surname: ');
ReadLn(surname);
Write('Phone: ');
ReadLn(tel);
end;
Write(f, subscriber);
end;
Close(f);end.
Похожие вопросы
- чем отличается работа с бинарными файлами, от работы с обычными ???
- как устроен бинарный файл
- Файл hosts!!! Нужна помощь!!
- Нужна помощь с 1 прогой в Pascal. с использованием файлов???
- Нужна помощь в создании pdf файлов для печати в типографии через photoshop или его аналоги!
- В чем отличие бинарных и не бинарных файлов?
- Паскаль. Работа с текстовым файлом. Нужна помощь
- Почему нет вирусов в популярных бинарных файлах - mp3, wav, avi,mkv и т. д.
- Делфи. работа с аудио файлами.
- Си работа со строками. Нужна помощь