CYFROWY BARON • PROGRAMOWANIE • Zobacz wątek - Kontener na pliki

Kontener na pliki

dział ogólny

Re: Kontener na pliki

Nowy postprzez moderasura » sobota, 8 października 2011, 20:21

Sorry ze post pod postem ale chyba Admin mi wybaczy lub mnie skarci...Krótko i na temat chcę otworzyć plik dowolnego rozmiaru nie ustalając jego rozmiaru w kodzie tylko tak by sam sprawdzal rozmiar pliku i go w tym samym rozmiarze zapisał w innym pliku...Jesli chodzi o ten inny plik to sobie poradzę po przez funkcje dopisywania na koncu pliku ios::app
Avatar użytkownika
moderasura
Homos antropiczny
Homos antropiczny
 
Posty: 57
Dołączył(a): wtorek, 4 stycznia 2011, 20:07
Podziękował : 13
Otrzymał podziękowań: 0
System operacyjny: Windows-7 32 bit
Kompilator: C++ Borland 6
C++Builder 2009
Gadu Gadu: 0
    Windows 7Firefox

Re: Kontener na pliki

Nowy postprzez polymorphism » sobota, 8 października 2011, 20:22

KOD cpp:     UKRYJ  
char buf[1024];

ifstream is("in.file", ios::bin);
ofstream os("out.file", ios::bin);

while(is && is.read(buf, 1024).gcount() > 0)
{
        os.write(buf, is.gcount());
}
 

Tu masz przykład kopiowania pliku z jednego strumienia do drugiego. Wielkość pliku nie ma tu znaczenia. Przeanalizuj ten kod i wyciągnij z niego wnioski.

Sorry ze post pod postem ale chyba Admin mi wybaczy lub mnie skarci...

Jest coś takiego jak edycja posta...
C++ Reference - opis wszystkich klas STL-a i funkcji C.

Za ten post autor polymorphism otrzymał podziękowanie od:
moderasura
Avatar użytkownika
polymorphism
Doświadczony Programista ● Moderator
Doświadczony Programista ● Moderator
 
Posty: 2156
Dołączył(a): piątek, 19 grudnia 2008, 13:04
Podziękował : 0
Otrzymał podziękowań: 200
System operacyjny: Windows 8.1
Windows 10
Linux Mint 21.1
Kompilator: Visual Studio
Visual Studio Code
MSYS2 (MinGW, clang)
g++
clang
Gadu Gadu: 0
    Windows XPFirefox

Re: Kontener na pliki

Nowy postprzez moderasura » sobota, 8 października 2011, 20:43

Chyba o to mi chodziło to nawet lepiej dlatego ze jest funkcja 2in1 sprawdzę to 8-)

Działa i to na 200% Dzięki te forum to magia :D

troche mi wstyd za te pytania ale nie jestem w tym z byt dobry ale dzieki za POMOC w tym temacie

KOD cpp:     UKRYJ  
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop
#include <fstream.h>
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char buf[1024];

ifstream is("in.file", ios::binary);
ofstream os("kontener\\mapa.bin", ios::binary|ios::app);

while(is && is.read(buf, 1024).gcount() > 0)
{
        os.write(buf, is.gcount());
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{

    if (!DirectoryExists("kontener")) {
        if (!CreateDir("kontener"))
            throw Exception("Nie można utworzyć folderu ' kontener'");
    }

    String fileName = ExtractFilePath(ParamStr(0)) + "kontener\\mapa.bin";

    fstream outfile;

    outfile.open(fileName.c_str(), ios::out | ios::binary);

    outfile.write((char *)&"Naglowek    ", 12); // Początek nagłowka pliku 12 bajtów

    outfile.close();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button3Click(TObject *Sender)
{
  String fileName = ExtractFilePath(ParamStr(0)) + "kontener\\mapa.bin";

    fstream outfile;

    outfile.open(fileName.c_str(), ios::out |ios::app |ios::binary);

    outfile.write((char *)&"\0\0\0\0", 4); //koniec pliku

    outfile.close();
}
//---------------------------------------------------------------------------
 


I to by było na tyle 8-)
Avatar użytkownika
moderasura
Homos antropiczny
Homos antropiczny
 
Posty: 57
Dołączył(a): wtorek, 4 stycznia 2011, 20:07
Podziękował : 13
Otrzymał podziękowań: 0
System operacyjny: Windows-7 32 bit
Kompilator: C++ Borland 6
C++Builder 2009
Gadu Gadu: 0
    Windows 7Firefox

Poprzednia strona

  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Ogólne problemy z programowaniem

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 13 gości

cron