Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » dateiinhalte vergleichen

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 <
010
07.11.2003, 10:29 Uhr
geissbock



also ich bekomme nicht die länge eines files zurück. ich hab auch noch filelength gefunden. haben ich komme keine vernünftigen rückgabewerte.

C++:
if(_filelength(source_1)!=_filelength(source_2))
        {
        printf("datein haben ungleiche länge");
        exit (0);
    }
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
07.11.2003, 11:07 Uhr
virtual
Sexiest Bit alive
(Operator)


Vielleicht sollte man auch das richtigre reintun in _filelength?
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
07.11.2003, 11:26 Uhr
geissbock



bloß was ist das richtige???
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
07.11.2003, 11:31 Uhr
virtual
Sexiest Bit alive
(Operator)


Der File Descriptor, also ein int. Wenn Du Die Dateien mit fopen geöffnet hast, kannst du ja mal _fileno probieren, um daran zu kommen. Generell ist das aber nicht mehr ANSI, sondern DOS.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
07.11.2003, 12:39 Uhr
0xdeadbeef
Gott
(Operator)


fileno ist ANSI-C (allerdings ohne Unterstrich). In POSIX gibt es dann die Funktion fstat:

C++:
#include <stdio.h>
#include <unistd.h>

/*...*/

FILE *fd = fopen("datei", "r");
struct stat file_stats;
off_t filelen; /* off_t ist ein langer unsigned integer. */

fstat(fileno(fd), &file_stats); /* schreibt die Dateieigenschaften in file_stats */
filelen = buf.st_size;


Ich weiß allerdings nicht, ob Windows das auch kennt, die halten sich nicht immer an POSIX. Wenn sie fstat nicht haben, kannst du mal _fstat versuchen, die ziehen gerne solche moves, um den Programmierern das Leben schwer zu machen.
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra

Dieser Post wurde am 07.11.2003 um 12:40 Uhr von 0xdeadbeef editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
07.11.2003, 12:42 Uhr
virtual
Sexiest Bit alive
(Operator)



Zitat:
0xdeadbeef postete
fileno ist ANSI-C (allerdings ohne Unterstrich).


Nein.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
07.11.2003, 12:45 Uhr
0xdeadbeef
Gott
(Operator)


Oh, hoppla. Du hast recht, ich hab mich grade verlesen. Das Ding steht auf derselben manpage wie clearerr, ferror und feof, und die sind alle ANSI-C, und ich hab scheinbar nicht genau genug hingekuckt... *peinlich*
--
Einfachheit ist Voraussetzung für Zuverlässigkeit.
-- Edsger Wybe Dijkstra
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
07.11.2003, 13:07 Uhr
geissbock



ich krieg es so nicht zum laufen. naja egal. ich lasse dann nur den inhalt vergleichen. wäre zwar schön wenn er die länge vorher überprüft(weil er bei ungleichheit abbrechen könnte) aber so geht es auch. ist zwar denn langsamer aber was solls. THX @ ALL
 
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: