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

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

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

Студворк — интернет-сервис помощи студентам
Помогите записать дек в файл, пробывал через стандартный 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
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
29.03.2015, 21:28
Ответы с готовыми решениями:

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

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

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

8
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
29.03.2015, 21:42
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  [ТС]
я не совсем понял чем мой код отличается от вашего,функцией fprintf?
данная функция просто выдает ошибку когда я на месте аргумента ставлю переменную в которую записан дек.
объясните новичку на пальцах пожалуйста
0
Фрилансер
735 / 352 / 96
Регистрация: 05.05.2014
Сообщений: 2,621
29.03.2015, 22:23
_Eugene_,
C
1
fprintf(out, "%s", "HW")
первый параметр - дескриптор файла, 2 - тип записываемых данных, 3 - данные. Отличие в том что у меня эта ф-ция все записывает, а у вас нет
1
0 / 0 / 0
Регистрация: 29.03.2015
Сообщений: 5
29.03.2015, 22:47  [ТС]
скорее всего сказывается недостаток знаний , но все же, используя вашу функцию, при подстановке в данных ,все равно в итоге выводит пустой файл(в первом случае), во втором же просто не компилируется
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
Цитата Сообщение от _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  [ТС]
содержимое дека, D-дек созданый в начале строка 18
0
lss
941 / 869 / 355
Регистрация: 10.10.2012
Сообщений: 2,706
29.03.2015, 23:44
Какое отношение дек имеет к Си-шным функциям? В С++ для этого есть ostream_iterator и функция copy().
http://www.cplusplus.com/refer... m_iterator
0
Заблокирован
30.03.2015, 00:43
_Eugene_, Вы определитесь: вы используете С++ со всеми его богатыми возможностями или чистый Си. В вашем примере проще переделать программу под чистый Си, потому как кроме библиотек С++ у вас больше из этого языка ничего не применено.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
30.03.2015, 00:43
Помогаю со студенческими работами здесь

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

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

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

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

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


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

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

Новые блоги и статьи
Использование Linq2Db в проектах C# .NET
UnmanagedCoder 21.05.2025
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL. Что. . .
Реализация Domain-Driven Design с Java
Javaican 20.05.2025
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную. . .
Возможности и нововведения C# 14
stackOverflow 20.05.2025
Выход версии C# 14, который ожидается вместе с . NET 10, приносит ряд интересных нововведений, действительно упрощающих жизнь разработчиков. Вы уже хотите опробовать эти новшества? Не проблема! Просто. . .
Собеседование по Node.js - вопросы и ответы
Reangularity 20.05.2025
Каждому разработчику рано или поздно приходится сталкиватся с техническими собеседованиями - этим стрессовым испытанием, где решается судьба карьерного роста и зарплатных ожиданий. В этой статье я. . .
Cython и C (СИ) расширения Python для максимальной производительности
py-thonny 20.05.2025
Python невероятно дружелюбен к начинающим и одновременно мощный для профи. Но стоит лишь заикнуться о высокопроизводительных вычислениях — и энтузиазм быстро улетучивается. Да, Питон медлительнее. . .
Безопасное программирование в Java и предотвращение уязвимостей (SQL-инъекции, XSS и др.)
Javaican 19.05.2025
Самые распространёные векторы атак на Java-приложения за последний год выглядят как классический "топ-3 хакерских фаворитов": SQL-инъекции (31%), межсайтовый скриптинг или XSS (28%) и CSRF-атаки. . .
Введение в Q# - язык квантовых вычислений от Microsoft
EggHead 19.05.2025
Microsoft вошла в гонку технологических гигантов с собственным языком программирования Q#, специально созданным для разработки квантовых алгоритмов. Но прежде чем погружаться в синтаксические дебри. . .
Безопасность Kubernetes с Falco и обнаружение вторжений
Mr. Docker 18.05.2025
Переход организаций к микросервисной архитектуре и контейнерным технологиям сопровождается лавинообразным ростом векторов атак — от тривиальных попыток взлома до многоступенчатых кибератак, способных. . .
Аугментация изображений с Python
AI_Generated 18.05.2025
Собрать достаточно большой датасет для обучения нейронной сети — та ещё головная боль. Часами вручную размечать картинки, скармливать их ненасытным алгоритмам и молиться, чтобы модель не сдулась при. . .
Исключения в Java: советы, примеры кода и многое другое
Javaican 18.05.2025
Исключения — это объекты, созданные когда программа сталкивается с непредвиденной ситуацией: файл не найден, сетевое соединение разорвано, деление на ноль. . . Список можно продолжать до бесконечности. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru