Zapisywanie bezporednio do bufora pliku

Zapisywanie bezporednio do bufora pliku
T9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Gdy już otworze plik (nie chciałbym kopiować jego zawartości do pamięci), jak mogę do niego zapisać dane. Próbowałem w poniższy sposób, ale program się zawiesza. Czy jest jakiś sposób?
Rabie archiwizer i przy plikach o wielkości rzędu kilkuset megabajtów program się zawiesza.

Kopiuj
#include "stdafx.h"
#include <iostream>
using namespace std;
#include <fstream>

int _tmain(int argc, _TCHAR* argv[])
{
	ofstream out;
	out.open("read.txt");
	char* c=reinterpret_cast<char*>(out.rdbuf());
	cin>>c;

	return 0;
}

 
Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Nie rozumiem pytania. Otwierasz w trybie out albo app (jak chcesz dopisywać) i po prostu do niego piszesz, na przykład

Kopiuj
out<<"dupa";
T9
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
0

Ja potrzebuje wskaźnik na char(char*) jako argument do funkcji. Ta funkcja to LzmaCompress. Próbowałem rzutować, ale się zawieszał program.

Shalom
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Space: the final frontier
  • Postów: 26433
0

Nic ci nie poradzę że "potrzebujesz". Tak się nie da i już.

KU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 166
0

Musisz użyć kompresji przyrostowej. Odsyłam do dokumentacji, albo np. tu: http://asawicki.info/news_1368_lzma_sdk_-_how_to_use.html
Poszukaj "incremental compression".

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.