0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 5
1

Запись дека в файл

29.03.2015, 21:28. Показов 1584. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите записать дек в файл, пробывал через стандартный fscanf но в итоге файл остается пустой , вот код

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
#include <stdio.h>
#include <iostream>
#include <deque>
#include <conio.h>
#include <fstream>
using namespace std;
 
int main() //??????? ???????
{
FILE *file;
file=fopen("11111.txt","a+");
if(file==NULL)
    {
        printf("error");
        exit(0);
    }
 
deque<int> D; //Создание дека
deque<int>::iterator out;
char s[10];
int value;
int a;
 
char number;
do
{
cout<<"1. Add element in the beginning"<<endl;
cout<<"2. Add element in the end"<<endl;
cout<<"3. Delete the first element"<<endl;
cout<<"4. Delete the last element"<<endl;
cout<<"5. Print the first element"<<endl;
cout<<"6. Print the last element"<<endl;
cout<<"7. Size of the deque"<<endl;
cout<<"8. Save the deque into file "<<endl;
cout<<"0. Exit\n\n";
cout<<"Choose the command > "; cin>>number;
system("cls");
switch (number)
{
case '1':
cout<<"\nInput the element > "; cin>>value;
D.push_front(value);
/*FILE *file1;
file1=fopen("11.txt","a+");
fscanf(file1,"%d",value);*/
cout<<endl<<"Element has been added\n\n";
 
break;system("cls");
//-----------------------------------------------
case '2':
cout<<"\nInput the element > "; cin>>value;
D.push_back(value);
 
/*fprintf(file,"%d",value);*/
cout<<endl<<"Element has been added\n\n";
 
break;system("cls");
//-----------------------------------------------
case '3': if (D.empty()) cout<<"\nDeque is empty\n\n";
else
{
D.erase(D.begin());
cout<<endl<<"The element has been removed\n\n";
 
} break;system("cls");
//-----------------------------------------------
case '4': if (D.empty()) cout<<"\nDeque is empty\n\n";
else
{
D.erase(D.end()-1);
cout<<endl<<"The element has been removed\n\n";
 
} break;system("cls");
//-----------------------------------------------
case '5':
if (D.empty()) cout<<endl<<"Deque is empty\n\n";
else
{
out=D.begin();
cout<<"\nthe first element: "<<*out<<"\n\n";
} break;system("cls");
//-----------------------------------------------
case '6': if (D.empty()) cout<<"\nDeque is empty\n\n";
else
{
out=D.end()-1;
cout<<"\nThe last element: "<<*out<<"\n\n";
} break;system("cls");
//-----------------------------------------------
case '7':
if (D.empty()) cout<<endl<<"Deque is empty\n\n";
else cout<<"\nSize of the deque=: "<<D.size()<<"\n\n";
break;system("cls");
//-----------------------------------------------
case '8':
sprintf(s,"%d",&D);
fscanf(file,"%s",s);
 
printf("Deque was successfully written into file 10.txt");
break;
system("cls");
 
//--------------------------------------------------    
case '0': break;
default: cout<<endl<<"Command has not been identified\n\n";
break;
}
} while(number!='0');
fclose(file);
system("pause");
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
29.03.2015, 21:28
Ответы с готовыми решениями:

Считывание элементов дека с файла и запись дека в файл
Доброго времени суток. Я написал код программы про дек с ограниченным входом слева (то есть с него ...

Используя модуль для реализации дека целых чисел, реализовать очередь на базе дека
Уважаемые программисты!Очень нужна Ваша помощь: (помогите решить, разобраться или хотябы просто...

Запись в файл - проверить, не идет ли в него запись, чтобы не генерировалось исключение
Доброе время суток! Вот такой пример: Imports System Imports System.IO Module Module1 ...

Пожалуйста напишите программу, которая добавляет запись в типизированый файл тип - запись
Которая добавляет запись в типизированый файл тип - запись добавляет к той записи в файле...

8
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
29.03.2015, 21:42 2
C
1
2
3
4
    FILE *out;
    char *foutname = "output.txt";
    out = fopen(foutname, "w");
    fprintf(out, "%s", "HW");
1
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 5
29.03.2015, 21:56  [ТС] 3
я не совсем понял чем мой код отличается от вашего,функцией fprintf?
данная функция просто выдает ошибку когда я на месте аргумента ставлю переменную в которую записан дек.
объясните новичку на пальцах пожалуйста
0
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
29.03.2015, 22:23 4
_Eugene_,
C
1
fprintf(out, "%s", "HW")
первый параметр - дескриптор файла, 2 - тип записываемых данных, 3 - данные. Отличие в том что у меня эта ф-ция все записывает, а у вас нет
1
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 5
29.03.2015, 22:47  [ТС] 5
скорее всего сказывается недостаток знаний , но все же, используя вашу функцию, при подстановке в данных ,все равно в итоге выводит пустой файл(в первом случае), во втором же просто не компилируется
C++
1
2
1)fprintf(file,"%s",&D);
2)fprintf(file,"%s",D);
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
29.03.2015, 23:30 6
Цитата Сообщение от _Eugene_ Посмотреть сообщение
Код C++1
2
1)fprintf(file,"%s",&D);
2)fprintf(file,"%s",D);
Что таким способом хочешь записать в файл?
0
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 5
29.03.2015, 23:32  [ТС] 7
содержимое дека, D-дек созданый в начале строка 18
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
29.03.2015, 23:44 8
Какое отношение дек имеет к Си-шным функциям? В С++ для этого есть ostream_iterator и функция copy().
http://www.cplusplus.com/refer... m_iterator
0
Заблокирован
30.03.2015, 00:43 9
_Eugene_, Вы определитесь: вы используете С++ со всеми его богатыми возможностями или чистый Си. В вашем примере проще переделать программу под чистый Си, потому как кроме библиотек С++ у вас больше из этого языка ничего не применено.
0
30.03.2015, 00:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.03.2015, 00:43
Помогаю со студенческими работами здесь

Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран
1.Ввод с клавиатуры и запись в файл, чтение из файла и запись в массив, вывод из массива на экран...

Запись строки в массив, сортировка, удаление и запись в файл
Нужна помощь. Из edit box к нам приходят строки мы их фильтруем. нужно строки записать в массив,...

Запись чисел из файла 1, и запись в файл 2 в отсортированном виде
Задание: Есть файл 1, в нем находятся числа, нужно их отсортировать по возрастанию и записать в...

Запись в текстовый файл (каждая запись - отдельная строка)
Добрый вечер) Программа берет данные таблицы Access и записывает их в строчку. Проблема заключается...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru