Форум программистов, компьютерный форум CyberForum.ru

Создать бинарный файл - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Преобразовать в с++ http://www.cyberforum.ru/cpp-beginners/thread724023.html
Помогите, плиз, переобразовать код с С в С++ #include <cstdlib> #include <cstdio> #include <cstring> #include <clocale> int main(){ setlocale(LC_ALL, ".1251"); char c = 'Б';
C++ Записать в файл B, те строки файла A и их номера, в которых заданный символ p не встречался ни разу Дан файл А. Записать в файл B, те строки и их номера, в которых заданный символ p не встречался ни разу. #include "stdafx.h" #include <istream> #include <fstream> using namespace std; int poisk (char a) // Функция проверяющая, есть и в сторке символ p. {for (int i=0; a!='\0'; i++) // если нет возвращаем 1,если есть 0. { if (a!='p') http://www.cyberforum.ru/cpp-beginners/thread724022.html
Скрытый файл C++
System::IO::File::Copy(); - используемая функция. как сделать файл скрытым?
C++ Найти число перемен знаков последовательности попарных произведений
Уважаемые форумчане!!! у меня такой вопрос: Даны два массива: A = {1.1, 2, 4, 5.1, -8.2, -1.5, 1.2}, B = {-1.3, 2.7, -3.2, 5, 1.8, -4.6, -1.2}. Найти число перемен знаков последовательности попарных произведений. Пишу на VS C++ Начал делать, а вот, что дальше делать даже представить не могу. #include "stdafx.h" #include <iostream>
C++ не получается подсчитать символы http://www.cyberforum.ru/cpp-beginners/thread724016.html
привет всем ! такой вопрос почему не получается подсчитать русские буквы нижнего регистра ? вместо 16 показывает 3 .. int _tmain(int argc, _TCHAR* argv) { SetConsoleCP(1251); SetConsoleOutputCP(1251); unsigned char str = "Город Тула основан в 1946 г. I was burn in Tula in 1991."; int count_lower(0); cout<<"Во введенной строке: "<<endl; for(int i = 0, j = 224; str, j <= 255; i++,...
C++ Вывод года в формате ГГГГ У меня есть программа #include <fstream> int main() { std::fstream I("input.txt"), O("output.txt", 2); int k; I >> k; (k % 4) ? O << "13/09/" << k: O << "12/09/" << k ; подробнее

Показать сообщение отдельно
Rika23
0 / 0 / 0
Регистрация: 08.12.2012
Сообщений: 6
08.12.2012, 19:31     Создать бинарный файл
Здравствуйте, делаю лабораторную работу, вроде код написала, но он почему-то пропускает запись названия термина. Помогите пожалуйста. Вот условие и код:
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
#include <iostream>
using namespace std;
 
struct Term
{
    char name[80];
    char flag;
    
    int page;
} p,p1;
 
 
FILE *f1,*f2;
 
 
void CreateFile(char *filename)
{
    if ((f1=fopen(filename,"wb")) != NULL)
    {
        int cnt=1;
        while(cnt!=0)
        {
            
 
            
            cout << "Enter term(* - end) >";
            cin.getline(p.name,80);
            if (strcmp(p.name,"*")==0)
                                  cnt=0;
            cout << "Enter flag >";
            cin >>p.flag;
            cin.get();
            cout << "Enter page>";
            cin >> p.page;
            
 
 
 
            fwrite(&p, sizeof p1, 1, f1);
        }
        fclose(f1);
    }
}
char* generateFileName(char *str)
{
    char* w;
    char* str1=new char[20];
    strcpy(str1,str);
    w=strtok(str1,".");
    strcat(w,".txt");
    return w;
}
 
void CreateTextFile(char *filename1,char *filename2)
{
    if ((f1=fopen(filename1,"w")) != NULL)
    {
        if ((f2=fopen(filename2,"rb")) != NULL)
        {
        
        while(!feof(f2))
        {
            fread(&p1, sizeof p1, 1, f2);
                        
            fwrite(&p1, sizeof p1, 1, f1);
            fputs(" \n",f1);
 
        }
        fclose(f1);
        fclose(f2);
    
        
        }
    }
}
 
 
void main(int argc, char* argv[])
{
    
        cout<<"CreateFile "<<argv[1]<<endl<<endl;
        CreateFile(argv[1]);
        cout<<"Add file "<<argv[2]<<endl<<endl;
        CreateFile(argv[2]);
                CreateTextFile(generateFileName(argv[1]),argv[1]);
 
}
Кликните здесь для просмотра всего текста
Создать бинарный файл, содержащий сведения о терминах, определяемых и используемых в книге

Код
Номер поля Название	                                                      Тип, размер
      1	         Название термина	                                           char[80], 80 байт
      2	         Признак определения (1) или использования (2)	                char, 1 байт
      3	         Номер страницы	                                                int, 4 байта
	                                                                           итого 85 (!) байт
Записи файла должны быть упорядочены по полям «Название термина» и «номер страницы». Кроме того, создать файл добавлений, имеющий такую же структуру.
Имена создаваемых файлов задаются в командной строке
Напишите программу, которая может выполнять следующие функции:
1. Вывести содержимое исходного файла в текстовый файл в виде, удобном для чтения человеком (т.е. с необходимыми комментариями). Имя выходного текстового файла генерировать из имени исходного файла с добавлением типа *.txt

2. Выполнить слияние основного файла и файла добавлений в новый выходной файл, сохраняя его упорядоченность. Имя выходного файла запросить у пользователя

3. Вывести содержимое полученного файла в текстовый файл в виде, удобном для чтения человеком (т.е. с необходимыми комментариями). Имя выходного текстового файла генерировать из имени исходного файла из п.2 с добавлением типа *.txt
Замечания.
1) Решение задачи должно сопровождаться подробным интерфейсом .

2) При выполнении задания при обработке бинарных файлов использовать только файлы в стиле С. Использовать потоковые файлы разрешается для создания текстовых файлов

3) Слияние (п.2) выполнять на уровне файлов. Решение с использованием массивов или стандартных контейнеров приниматься не будет
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 06:39. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru