С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

Бинарный файл, не проходит проверка - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка при выводе строк из файла http://www.cyberforum.ru/cpp-beginners/thread1135461.html
Помогите пожалуйста разобраться в чем ошибка. Весь код писать не буду просто покажу как я вношу данные в файл и считываю. int j=i; ofstream outfile; outfile.open("Out.txt"); ...
C++ Вставить равномерно пробелы в строку, чтобы его длина была ровно 50 символов Помогите, пожалуйста В тексте, который состоит не более чем из 50 символов, вставить равномерно пробелы так, чтобы его длина была ровно 50 символов. http://www.cyberforum.ru/cpp-beginners/thread1135460.html
C++ Cделать ввод с клавиатуры 20 слов и найти индекс максимального слова
Нужно сделать ввод с клавиатуры 20 слов и найти индекс максимального слова. Может у кого-то есть идеи?
Создать структуру Прибор C++
нужно оголосить структуру Прибор с полями: категория, изготовитель, приоритет прибора, цена, количество портов. Ето нужно считать с файла, отсортировать за приоритетом и ценой и даные о каждом...
C++ Глобальная переменная http://www.cyberforum.ru/cpp-beginners/thread1135420.html
#include "stdafx.h" #include "locale" #include "iostream" #include "conio.h" using namespace::std; int count = -1; void swap(); int _tmain(int argc, _TCHAR* argv) { setlocale(LC_ALL,...
C++ Определить есть ли в записи числа заданная цифра, и найти количество ее повторений Здравствуйте! На начале обучения ломаю голову как решить следующие задачи с маленькими знаниями в С++ : 1. Определить есть ли в его записи заданная цифра, и найти ее кол-во повторений. подробнее

Показать сообщение отдельно
baduk
0 / 0 / 0
Регистрация: 15.11.2013
Сообщений: 6
01.04.2014, 18:06  [ТС]
вот код создающий бинарный файл:
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "person.h"
 
int main(int argc, char* argv[])
{
    FILE * file;
    int i, j;
 
    if (argv[2][1] == 'a')
    {
        file = fopen(argv[1], "a+");
        person p;
 
        for (i = 3; i < argc; i += 2)
        {
            switch ( argv[i][1] )
            {
            case 'g':
                p.groupID = atoi( argv[i+1]);
                break;
 
            case 'm':
                p.matan = atoi ( argv[i+1]);
                break;
 
            case 'l':
                p.linal = atoi ( argv[i+1]);
                break;
 
            case 'i':
                p.inf = atoi ( argv[i+1]);
                break;
 
            case 'd':
                p.dm = atoi ( argv[i+1]);
                break;
 
            case 'h':
                p.his = atoi ( argv[i+1]);
                break;
 
            case 'n':
                for (j = 0; j < 50; j++)
                {
                    p.name[j] = argv[i + 1][j];
                    if (p.name[j] == '\0')
                    {
                        break;
                    }
                }
                 case 'p':
                for (j = 0; j < 50; j++)
                {
                    p.pol[j] = argv[i + 1][j];
                    if (p.pol[j] == '\0')
                    {
                        break;
                    }
                }   
    
                break;
            }
        }
 
        fwrite(&p, sizeof(person), 1, file);
        fclose(file);
        return 0;
    }
 
    if (argv[2][1] == 't')
    {
        file = fopen(argv[1], "r");
        person p;
        printf("Фамилия             | Группа | Матан | Р˜нфа  | Линал | Дискра | Р˜стория |\n");
        printf("--------------------|--------|-------|-------|-------|--------|---------|\n");
 
        while (fread(&p, sizeof(person), 1, file))
        {
            printf("%-*s|   %d    |    %d  |    %d  |    %d  |    %d   |     %d   |\n",
                   (int)strlen(p.name) + 20 - (int)strlen(p.name) / 2,
                   p.name,
                   p.groupID,
                   p.matan,
                   p.inf,
                   p.linal,
                   p.dm,
                   p.his);
        }
        printf("--------------------|--------|-------|-------|-------|--------|---------|\n");
        fclose(file);
        return 0;
    }
 
    if (argv[2][1] == 'f')
    {
        person p;
        FILE * txt;
        file = fopen(argv[1], "w");
        txt = fopen(argv[3], "r");
 
        while (fscanf(txt, "%s%s%d%d%d%d%d%d",
                       p.name,
                               p.pol,
                      &p.groupID,
                      &p.matan,
                      &p.inf,
                      &p.linal,
                      &p.dm,
                      &p.his) != EOF)
        {
            fwrite(&p, sizeof(person), 1, file);
        }
 
        fclose(file);
        fclose(txt);
    }
 
    return 0;
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.