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

Как записать данные в начало файла не уничтожая его? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 11, средняя оценка - 4.91
ElvenDragon
 Аватар для ElvenDragon
3 / 8 / 1
Регистрация: 12.07.2009
Сообщений: 361
26.07.2011, 22:25     Как записать данные в начало файла не уничтожая его? #1
Как записать данные в начало файла не уничтожая его? Вот пример могу ток записывать данные в конец файла ,а в начало нет хоть устанавливаю указатель вначале ,а запись данных серовно идет в конец файла. При других значениях данные из файла уничтожаются если не ios::app. Как по вашему можно записать данное в начале файла ,но при этом не уничтожив файл?

C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <fstream>
using namespace std;
  
int main() {
  char s = 's';
  ofstream p("C:\\Mop.txt",ios::app);
  p.seekp(0,ios::beg);
  p.put(s);
  return 0;
}
Сдесь ток данные записываются в конец файла.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.07.2011, 22:25     Как записать данные в начало файла не уничтожая его?
Посмотрите здесь:

C++ Как прочитать текст из файла и записать его в vector ?
как из файла записать данные в другой файл ??? C++
C++ Записать данные в начало файла
Как можно записать строку в конец файла, чтобы данные которые были в нем не стерлись? C++
Связать файл с потоком, не уничтожая его C++
C++ Как записать данные из файла в двумерный массив?
Найти минимальный по значению элемент и записать его на начало массива, высвободив для него место путем смещ C++
C++ Как считать данные с файла и записать в массив?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
alex_x_x
бжни
 Аватар для alex_x_x
2441 / 1646 / 84
Регистрация: 14.05.2009
Сообщений: 7,163
26.07.2011, 22:55     Как записать данные в начало файла не уничтожая его? #2
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <sstream>
#include <fstream>
 
int main()
{
  std::stringstream str( std::stringstream::out );
  std::fstream f( "res.c", std::fstream::out | std::fstream::in | std::fstream::binary );
  if( !f ){
    std::cout << "can't open for read" << std::endl;
    return -1;
  }
  str << "hello world";
  str << f.rdbuf();
  f << str.str();
}
Добавлено через 3 минуты
по смыслу не думаю, что есть простые способы, чтото добавить в начало
odip
Эксперт C++
 Аватар для odip
7225 / 3287 / 58
Регистрация: 17.06.2009
Сообщений: 14,165
27.07.2011, 13:35     Как записать данные в начало файла не уничтожая его? #3
Сдесь ток данные записываются в конец файла.
А кто подал ios::app ?
Поэтому и пишет в конец
Yandex
Объявления
27.07.2011, 13:35     Как записать данные в начало файла не уничтожая его?
Ответ Создать тему
Опции темы

Текущее время: 07:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru