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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
anastasia_b
1 / 1 / 0
Регистрация: 28.04.2013
Сообщений: 45
#1

Добавить заголовок для произвольного файла - C++

31.05.2014, 15:51. Просмотров 258. Ответов 5
Метки нет (Все метки)

Добрый день! Помогите пожалуйста разобраться, почему не работает программа.
Для произвольного файла, используя класс fstream, нужно разработать метод, позволяющий добавить заголовок размером 100 байт.

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
#include <iostream>
#include <fstream>
#include <string>
#include <conio.h>
using namespace std;
 
std::fstream addHeader (fstream fs)
{
    fs.seekp(0); 
    char *buffer = new char[100];
    strcpy(buffer,"hello");
    cout << buffer;
    fs.write(buffer, 100);
    return fs;
}
 
void main() 
{
    std::fstream fs;
    fs.open ("1.txt", fstream::out);
    fs << "lalalalalala";
    addHeader (fs);
    fs.close();
}
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 15:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Добавить заголовок для произвольного файла (C++):

В данный класс добавить код для построчного чтения из файла - C++
помогите пожалуйста в данный класс надо добавить код для построчного чтения из файла Bank_Hall.class...

Создание файла произвольного доступа - C++
Здравствуйте.Ни как не могу разобраться с файлами произвольного доступа.Но эта тема посвящена именно созданию таких файлов. #include...

Создание файла произвольного доступа. - C++
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;stdlib.h&gt; #define number 100 struct clientData { int acctNum; ...

Изменение даты создания произвольного файла - C++
Написать программу, изменяющую дату и время создания произвольного файла Покапавшись нашел следующе, но что то не работает!!! ...

Чтение данных из произвольного файла с разделителями - C++
Помогите пожалуйста. Нужно написать программу консольного типа, реализующую: 1. Чтение файла 2. Вывод содержимого на экран 3....

Сформировать заголовок, отправить его, а затем принять ответный заголовок - C++
День добрый, форумчане. Предо мной задача - сформировать заголовок, отправить его, а затем принять ответный заголовок. Первая часть...

5
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
31.05.2014, 16:13 #2
Цитата Сообщение от anastasia_b Посмотреть сообщение
ть заголовок размером 100 байт.
Цитата Сообщение от anastasia_b Посмотреть сообщение
нужно разработать метод, позволяющий добавить заголовок размером 100 байт.
что в файле то? ...вам придётся сначала его прочитать, сохранить, потом заного его переписать вставив в начало заголовок
1
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,660
Завершенные тесты: 1
31.05.2014, 16:21 #3
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от dzrkot Посмотреть сообщение
вам придётся сначала его прочитать
Лучше создать новый файл, записать заголовок,
потом записать содержимое нужного файла.
Старый файл удалить, а новый переименовать.
1
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 2,004
31.05.2014, 16:32 #4
Цитата Сообщение от zss Посмотреть сообщение
Лучше создать новый файл, записать заголовок,
потом записать содержимое нужного файла.
Старый файл удалить, а новый переименовать.
Цитата Сообщение от anastasia_b Посмотреть сообщение
Для произвольного файла, используя класс fstream, нужно разработать метод, позволяющий добавить заголовок размером 100 байт.
ну я исходил из этого, так то да)
0
anastasia_b
1 / 1 / 0
Регистрация: 28.04.2013
Сообщений: 45
31.05.2014, 18:16  [ТС] #5
Вот так можно сделать? И скажите пожалуйста, как это реализовать в виде метода, отдельной функции? У меня в прошлый раз не получилось, то ли неправильно ее вызвала, то ли неправильно объявила..
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
#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
using namespace std;
 
int main() 
{
    ifstream in("1.txt");
    ofstream out("2.txt");
    string str;
    char *buffer = new char[100];
    strcpy(buffer,"hello");
    out << buffer;
    out.seekp(100, ios::beg);
    while (!in.eof())
    {
        getline(in,str);
        out << str;
    }
    in.close();
    out.close();
    system("del 1.txt");
    rename("2.txt", "1.txt");
    return 0;
}
0
zss
Модератор
Эксперт С++
6478 / 6041 / 1983
Регистрация: 18.12.2011
Сообщений: 15,660
Завершенные тесты: 1
31.05.2014, 18:24 #6
Цитата Сообщение от anastasia_b Посмотреть сообщение
out.seekp(100, ios::beg);
Это зачем? Указатель и так там стоит.

Добавлено через 4 минуты
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
void AddHeader(ifstream& in,ofstream& out)
{
    string str;
    char *buffer = new char[100];
    strcpy(buffer,"hello");
    out << buffer;
    out.seekp(100, ios::beg);
    while (!in.eof())
    {
        getline(in,str);
        out << str;
    }
    in.close();
    out.close();
}
int main()
{
    ifstream in("1.txt");
    ofstream out("2.txt");
    if(!in || !out)
    {
         cout<<"Error";
         return 1;
    }
    AddHeader(in,out);
    system("del 1.txt");
    rename("2.txt", "1.txt");
    return 0;
}
1
31.05.2014, 18:24
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2014, 18:24
Привет! Вот еще темы с ответами:

Корень произвольного степени из произвольного числа, введенного с клавиатуры - C++
Не применяя встроенных функций, найти корень произвольного степени из произвольного числа, введенного с клавиатуры. Из четырех первых цифр...

Как прочитать заголовок бинарного файла в формате TIFF? - C++
нужно считать заголовок *.tif - файла... открываю как поток для чтения бинарного файла вот так: ifstream...

Поогите написать программу считывания произвольного количества строк из текстового файла - C++
Ну вводиш в программу файл например формата txt. В этом файле что то написанно. И нажимая enter программа выдает нам, напимер 5 строк из...

Разработать программу, выполняющую чтение и вывод из произвольного текстового файла символьных строк - C++
Разработать программу, выполняющую чтение из произвольного текстового файла символьных строк. Необходимо вывести на экран исходный текст и...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru