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

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

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

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

31.05.2014, 15:51. Просмотров 240. Ответов 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();
}
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 15:51     Добавить заголовок для произвольного файла
Посмотрите здесь:

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

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

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

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

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

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

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
31.05.2014, 16:13     Добавить заголовок для произвольного файла #2
Цитата Сообщение от anastasia_b Посмотреть сообщение
ть заголовок размером 100 байт.
Цитата Сообщение от anastasia_b Посмотреть сообщение
нужно разработать метод, позволяющий добавить заголовок размером 100 байт.
что в файле то? ...вам придётся сначала его прочитать, сохранить, потом заного его переписать вставив в начало заголовок
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 1
31.05.2014, 16:21     Добавить заголовок для произвольного файла #3
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Цитата Сообщение от dzrkot Посмотреть сообщение
вам придётся сначала его прочитать
Лучше создать новый файл, записать заголовок,
потом записать содержимое нужного файла.
Старый файл удалить, а новый переименовать.
dzrkot
zzzZZZ...
519 / 349 / 53
Регистрация: 11.09.2013
Сообщений: 1,996
31.05.2014, 16:32     Добавить заголовок для произвольного файла #4
Цитата Сообщение от zss Посмотреть сообщение
Лучше создать новый файл, записать заголовок,
потом записать содержимое нужного файла.
Старый файл удалить, а новый переименовать.
Цитата Сообщение от anastasia_b Посмотреть сообщение
Для произвольного файла, используя класс fstream, нужно разработать метод, позволяющий добавить заголовок размером 100 байт.
ну я исходил из этого, так то да)
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;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.05.2014, 18:24     Добавить заголовок для произвольного файла
Еще ссылки по теме:

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

Функция для произвольного аргумента. - C++
Помогите люди что-то запутался намертво! Вычислить значение функции для произвольного значения аргумента x, вводимого с клавиатуры. ...

вычислить у = sin x для произвольного числа х - C++
Здравствуйте. Помогите пожалуйста написать задачи. 4)Считая, что стандартные функции sin и cos применимы только к аргументам из отрезка...

Составить программу для произвольного рисования на экране - C++
Составить программу для произвольного рисования на экране. Рисунок - это след курсора, перемещаемого с помощью клавишь управления курсором....


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

Или воспользуйтесь поиском по форуму:
zss
Модератор
Эксперт С++
6321 / 5905 / 1913
Регистрация: 18.12.2011
Сообщений: 15,186
Завершенные тесты: 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;
}
Yandex
Объявления
31.05.2014, 18:24     Добавить заголовок для произвольного файла
Ответ Создать тему
Опции темы

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