Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » ZWei Dateien zusammen fügen

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
05.08.2004, 12:04 Uhr
~iBOT
Gast


gibt es eine Möglichkeit zwei Dateien zusammen zu fügen? Ich möchte die eine Datei bei der andern einfach hinten ran hängen hab eber keine Lust das in ner for schleife mit fseek etc zu machen! Kann mann die Datei auch mit einmal auslesen?
danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
05.08.2004, 12:10 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


das geht schon, nur ist das sehr imperformant.

evtl fehlen einige header, ich lass das mal weg

C++:
FILE *src = fopen("quelle","rb");
FILE *dst = fopen("ziel","r+b");

fseek(src,0L,SEEK_END);
long length = ftell(src);

fseek(src,0L,SEEK_SET);
fseek(dst,0L,SEEK_END);

char *buffer = new char[length+1];
fread(buffer,1,length,src);
fwrite(buffer,1,length,dst);
delete[] buffer;

fclose(src);
fclose(dst);



das sollte dir das machen was du willst
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
05.08.2004, 12:11 Uhr
~iBOT
Gast


Danke du bist ein Schatz
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
05.08.2004, 12:29 Uhr
~mike
Gast


Hab ich gerade in meinem Büchlein gelesen und ich dachte ich sags einfach mal
[klugschei***mode]
Statt fseek sollte man fsetpos verwenden. fseek übernimmt eine long Variable und das ist nicht portabel. fsetpos übernimmt eine Struktur.
[/klugschei***mode]

mfg
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
05.08.2004, 13:16 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


er wollte es ja "q&d"
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
05.08.2004, 13:29 Uhr
~iBOT
Gast


Das funtzt aber am ende der Zieldatei steht immer ÍÍÍÍÍÍÍÍÍ ! was kann dagegen machen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
05.08.2004, 14:57 Uhr
0xdeadbeef
Gott
(Operator)


Mal gaaaaanz einfach:

C++:
#include <stdio.h>

int main(int argc, char *argv[]) {
  FILE *in, *out;

  if(argc != 3) return -1;

  out = fopen(argv[1], "a");
  in  = fopen(argv[2], "r");

  if(!out || !in) return -2;

  while(!feof(in))
    fputc(fgetc(in), out);

  fclose(in );
  fclose(out);

  return 0;
}


--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
05.08.2004, 15:32 Uhr
~iBOT
Gast


Das funtzt aber nicht! Die Datei wird mega groß weil er kein zeichen weiter springt und somit nicht am ende ankommt!!Oder
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
05.08.2004, 15:37 Uhr
~IBOT
Gast


Es handelt sich übrigens um text datein die ich vorher mit w+ geöffnet habe und noch nicht mit fclose geschlossen habe! Also bfinde ich mich bei beiden Datein am ENDE!????
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
05.08.2004, 17:43 Uhr
0xdeadbeef
Gott
(Operator)


Wenn das so ist, kommst du um fseek nicht herum.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: