Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/3: Рейтинг темы: голосов - 3, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 11.03.2019
Сообщений: 8

Запись в файл и чтение из него

17.03.2019, 23:18. Показов 706. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый вечер. Не сильно могу разобраться что не так. Пытаюсь записать в файл и считать. Поправьте пожалуйста.
C++
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#include<iostream>
#include<stdio.h>
#include<errno.h>
#include<ctime>
#include<string>
 
using namespace std;
struct employee
{
 string FIO;
 int year;
 char pol;
 string position;
 int srok;
 int salary;
};
int main()
{
 int i; char w; char e = 'n';
 
 do {
  char s[20];
  cout << "Input name of file- ";
  cin.getline(s, 20);
  FILE *f;
  errno_t ff;
 
  ff = fopen_s(&f, s, "wb");
  employee employeelist[20];
  for (i = 0; i < 1; i++)
  {
   employeelist[i].year = 20 + rand() % 65;
   employeelist[i].srok = 1 + rand() % 25;
   employeelist[i].salary = 1000 + rand() % 10000;
   cout << "Input your FIO: ";
   cin >> employeelist[i].FIO;
   cout << "Input your sex:  ";
   cin >> employeelist[i].pol;
   cout << "Input your position: ";
   cin >> employeelist[i].position;
  }
  fclose(f);
  system("pause");
  ff = fopen_s(&f, s, "wb");
  for (int i = 0; i < 10; i++) {
   fread(&employeelist[20], sizeof(employeelist[20]), 1, f);
  }
  int k;
  cout << "less what srok?";
  cin >> k;
  for (int i = 0; i < 1; i++)
  {
   if (employeelist[i].pol = 'w' && employeelist[i].srok < k) 
   {
 
    cout << "\n FIO: " << employeelist[i].FIO << endl;
    cout << "\n year: " << employeelist[i].year << endl;
    cout << "\n pol:" << employeelist[i].pol << endl;
    cout << "\n position:" << employeelist[i].position << endl;
    cout << "\n srok:" << employeelist[i].srok << endl;
    cout << "\n salary:" << employeelist[i].salary << endl;
 
 
   }
  }
  cout << "exir[y/n]?";
  cin >> e;
  fclose(f);
 }
 
 while (e != 'y');
 system("pause");
 return 0;
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.03.2019, 23:18
Ответы с готовыми решениями:

Запись в файл и чтение из него
Не могу дописать программу, помогите пожалуйста. Надо случайные числа записать записать в файл, и из файла найти сумму макс. и мин. ...

Запись в бинарный файл и чтение из него
Нужно записать в бинарный файл блоки, каждый по 512 байт. Структура блока: Слово Число. На слово отводится 508 байт, на число 4. После...

Запись структурного массива в файл и чтение из него
Есть структурный массив: struct { char NAME,SKILLNAME; int HP,MP,STR,AGI,LUC,DAMAGESKILL; } karta Нужно записать в структуру в...

3
nd2
3438 / 2817 / 1249
Регистрация: 29.01.2016
Сообщений: 9,427
17.03.2019, 23:42
Цитата Сообщение от Stasichh Посмотреть сообщение
Не сильно могу разобраться что не так.
Не вали в кучу Си и С++. Си-шные функции не знают что такое std::string. std::string не годятся (без сериализации) для бинарных методов записи/чтения.
0
Just Do It!
 Аватар для XLAT
4206 / 2663 / 655
Регистрация: 23.09.2014
Сообщений: 9,060
Записей в блоге: 3
18.03.2019, 16:12
Stasichh, вот вам для затравки, заполните там где многоточия:
C++
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
#include <iostream>
#include <string>
#include <fstream>
 
using namespace std;
 
struct employee
{
    string FIO;
    int year;
    char pol;
    string position;
    int srok;
    int salary;
};
 
void show_employee()
{
...
}
 
int main()
{
    ///------------------------------------------------------------------------>
    /// Объявляем ОБЩИЕ переменные:
    employee employeelist[20];
    
    ///------------------------------------------------------------------------>
    /// Инициализируем наши данные(конкретный объект структуры employee):
    ...
    
    ///------------------------------------------------------------------------>
    /// Пишем в файл:
    ...
    
    ///------------------------------------------------------------------------>
    /// Читаем из файла:
    ...
    
    getchar();
    return 0;
}
0
 Аватар для FFPowerMan
2156 / 1236 / 508
Регистрация: 11.10.2018
Сообщений: 6,254
18.03.2019, 16:16
Ну а тэги кода-то где?

Добавлено через 2 минуты
Цитата Сообщение от Stasichh Посмотреть сообщение
C++
1
for (i = 0; i < 1; i++)
- так а что, цикл выполняется всего 1 раз? Может быть его вообще тогда убрать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
18.03.2019, 16:16
Помогаю со студенческими работами здесь

Запись в бинарный файл и чтение из него массива структур
Ребята, выручайте. Огромная проблема с записью и с чтением структуры из бинарного файла. Помогите кто чем может. void bin_w() { int...

Запись в бинарный файл и чтение из него массива структур
Здравствуйте, появилась проблема записью структуры в бинарный файл и чтение из него этой же структуры. Я находил код с записью char, но я...

Запись файла в массив и чтение из него
#include &lt;conio.h&gt; #include &lt;stdio.h&gt; void vvodznach ( int n, int m, double A ) { int i, j; for ( i = 0; i...

Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление)
Открыть текстовый файл в необходимом режиме (на чтение, на чтение и запись, на добавление). (В файле должно быть не менее 30 строк)....

Подскажите отладить запись в файл и считывание с него
Я написал программу, она работает с использованием fprintf() и fscanf(), но задание сделать с fwrite() и fread() - вот с ними у меня...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! */ #include <iostream> #include <stack> #include <cctype>. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru