🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
4 messages
4 total messages Started by Reza Farsi Tue, 15 Aug 1995 23:00
umspeichern von Dateien
#257
Author: Reza Farsi
Date: Tue, 15 Aug 1995 23:00
38 lines
1167 bytes
Hallo,

ich wuesste gerne, wie man eine Datei "movet"(!), ohne 'system' zu
benutzen.

Angenommen Datei_A in Dir1 soll in Datei_B in Dir2 gemovet(!) werden. Ich
kenne 2 Moeglichkeiten:

a. char comand[256];
   sprintf(comand, "mv %s/%s %s/%s", Dir1, Datei_A, Dir2, Datei_B);
   system(comand);

b. char name[256];

   ifstream first,
   ofstream second;

   sprintf(name, "%s/%s", Dir2, Datei_B);
   second.open(name);

   sprintf(name, "%s/%s", Dir1, Datei_A);
   first.open(name);

   char c;
   while (first.get(c))
     second.put(c);

   first.close();
   second.close();

   unlink(name);

Ich kann mir aber vorstellen, dass es elegantere Loesungen gibt. Bitte um
Hilfe.

Gruss
Reza
Re: umspeichern von Dateien
#266
Author: Jens Kuespert
Date: Wed, 16 Aug 1995 19:11
21 lines
1396 bytes
>>>>> On 16 Aug 1995 01:00:10 +0200, farsi@darmstadt.gmd.de (Reza Farsi) said:

[...]

 > Ich kann mir aber vorstellen, dass es elegantere Loesungen gibt. Bitte um
 > Hilfe.

Auf welchem OS willst du das denn machen? Unter Unix? Da kannst du
einfach rename(3) benutzen...

------------
  Syntax
  
  #include <stdio.h>
  
  int rename (FromPath, ToPath)
  const char *FromPath, *ToPath;
------------
--

                   -- Jens --
Re: umspeichern von Dateien
#269
Author: Reinhard Pfau
Date: Thu, 17 Aug 1995 07:39
26 lines
1586 bytes
Jens Kuespert (jk@wowbagger.pc-labor.uni-bremen.de) wrote:
: >>>>> On 16 Aug 1995 01:00:10 +0200, farsi@darmstadt.gmd.de (Reza Farsi) said:
: [...]
:  > Ich kann mir aber vorstellen, dass es elegantere Loesungen gibt. Bitte um
:  > Hilfe.
: Auf welchem OS willst du das denn machen? Unter Unix? Da kannst du
: einfach rename(3) benutzen...
Mit der gleichen Syntax auch unter MS/PC/NW-DOS; aber mit der Einschraenkung,
dass FromPath und ToPath auf dem gleichen Laufwerk liegen muessen (sonst muss
man doch umkopieren...).
: ------------
:   Syntax
:   
:   #include <stdio.h>
:   
:   int rename (FromPath, ToPath)
:   const char *FromPath, *ToPath;
: ------------
:                    -- Jens --
Reinhard
                          |+---------------------------------------
          ___  _   _      || Reinhard Pfau  (ED-Pfau)
 _  _   _  |  |_  |  |_|  || email: gz342@appl2.hrz.uni-siegen.de
|  |_|     |  |_  |_ | |  || IRC:   Mubo
   |                      |+---------------------------------------
 "Ich bekomme keine Magengeschwuere; ich verursache sie!"  Dein Computer.
Re: umspeichern von Dateien
#283
Author: Alexander Lehmann
Date: Sat, 19 Aug 1995 14:55
25 lines
1274 bytes
Jens Kuespert (jk@wowbagger.pc-labor.uni-bremen.de) wrote:
: >>>>> On 16 Aug 1995 01:00:10 +0200, farsi@darmstadt.gmd.de (Reza Farsi) said:
: 
: [...]
: 
:  > Ich kann mir aber vorstellen, dass es elegantere Loesungen gibt. Bitte um
:  > Hilfe.
: 
: Auf welchem OS willst du das denn machen? Unter Unix? Da kannst du
: einfach rename(3) benutzen...

Nicht wenn es zwischen verschiedenen Filesystemen verschoben wird (von /tmp
nach /users oder so).

Die Loesung mit zeichenweise Einlesen ist nicht so super schnell, entweder
man benutzt einen grossen Puffer mit fread oder, falls vorhanden, mmap und
fwrite.

Tschuess, Alexander

-- 
Alexander Lehmann
alex@hal.rhein-main.de  (plain, MIME, NeXT)          |  "On the Internet,
lehmann@mathematik.th-darmstadt.de  (plain)          |   nobody knows
http://www.rbg.informatik.th-darmstadt.de/~alexlehm  |   you're a dog."
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads