Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Datei aus Datein schneiden (binär)

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
05.11.2002, 17:00 Uhr
Tobi



MFC-typisch wäre es wenn du das ganze mif CFile bearbeitest! Aber warum willst du das machen wenn du einen vorgefertigten C-Code hast?
Oder meinst du das ganze in ne Klasse einfügen?


C++:
bool CMeinDialog::GetBlock(const char* file_in,const char* file_out, int blockanf, int blockend)
{
FILE *in, *out;

int l;
char ch, *chptr;

/* Die angegebenen Dateien öffnen */
    if ((in=fopen(file_in, "rb")) == NULL)
     {
      MessageBox("Datei kann nicht geöffnet werden");
      return false;
     }

    if ((out=fopen(file_out, "wb")) == NULL)
     {
      MessageBox("Datei kann nicht geöffnet werden");
     return false;
     }

/* Variablen initialisieren */
l=0;
chptr=&ch;     /* Weil fread, bzw. fwrite einen Zeiger erwarten, wird hier
             ein Zeiger auf den char zugewiesen. */


/* Überlese den Inhalt der Datei, bis der zu kopierende Block erreicht ist */
while (l < blockanf)
     { fread(chptr, 1, 1, in);    // Ein Byte aus der Eingabedatei lesen
        ++l;                // und Zähler erhöhen
     } /* while-Schleife */

/* An dieser Stelle ist l==blockanf, d.h. so gross wie die Startadresse.
     Deshalb wird ab jetzt kopiert, bis l den Wert von blockend erreicht hat.
*/

while (l <= blockend)
     { fread(chptr, 1, 1, in);    // Ein Byte aus der Eingabedatei lesen,
        fwrite(chptr, 1, 1, out);    // in Ausgabedatei schreiben
        ++l;                // und Zähler erhöhen
     } /* while-Schleife */

/* Wenn wir alle Bytes kopiert haben, müssen wir die Dateien wieder
     schliessen, und sind fertig.
*/

fclose (in);
fclose (out);

return true;
}


--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
05.11.2002, 19:24 Uhr
~Ludwig
Gast


Ich dachte das es evl irgen welche funktionen oder so ind API/MFC giebt.Hätte ja sein können.Weil ich mit c nich alt so viel am hut habe.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
05.11.2002, 23:41 Uhr
Hans
Library Walker
(Operator)


Hi Ludwig,


Zitat:

Ich dachte das es evl irgen welche funktionen oder so ind
API/MFC giebt.Hätte ja sein können.Weil ich mit c nich alt so
viel am hut habe.


Also wenn ich das richtig verstehe, dann bist Du hier allerdings im falschen Film, - ähh Forum. Natürlich gibt es auch in den MFC, bzw. der API Funktionen für diesen Zweck. Aber das sind Bausteine, die man sich so zusammen stellen muss, das sie das tun was man will. Das nennt man dann Programmieren. Aber ich vermute eher, das Du ein fertiges Programm suchst, das die von Dir beschriebenen Probleme löst. Möglicherweise gibt es da HexEditoren, die eine solche Funktion besitzen, aber da kenne ich keinen.

Ansonsten kannst Du das Programm, das ich in meinem letzten Beitrag gepostet habe einfach durch einen Compiler schicken und benutzen. Ist zwar nicht für die WindowsOberfläche, aber das wäre für ein Beipiel, dass das Prinzip verdeutlichen soll auch zu umfangreich.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
05.11.2002, 23:47 Uhr
~Ludwig
Gast


Ich habe nie gesagt das ich ein Fertiges Programm will das einzige was ich wollte ist Funktionen mit denen man das evl lösen könnte.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
06.11.2002, 09:03 Uhr
Volle



Hi,

wenn Du kein "fertiges" Programm suchst, dann hast du ja sicherlich schon mal angefangen, an deinem Problem rumzubasteln. Dann kannst du ja auch mal deinen Ansatz posten und wir können dir bei deinen konkreten Problemen helfen.

Es ist im Rahmen des Forums leider nicht möglich, zu globalen Rundumschlägen zum Thema MFC auszuholen. Dafür ist der Stoff etwas zu umfangreich. Da musst du schon selbst ein bisschen Vorarbeit leisten.

Und nicht aufgeben...

Gruß, Volle.

P.S.: Die Klasse, mit der du das in der MFC- Umgebung lösen kannst, heißt CFile. Sie bietet recht komfortable Memberfunktionen.

Dieser Post wurde am 06.11.2002 um 09:05 Uhr von Volle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
07.11.2002, 14:57 Uhr
Tobi



Wenn ich das richtig verstehe hatte Ludwig noch nie was mit c funktionen zu tun und kann deswegen den Code nicht lesen (verstehen)!
--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
07.11.2002, 22:43 Uhr
Hans
Library Walker
(Operator)



Zitat:
Tobi postete
Wenn ich das richtig verstehe hatte Ludwig noch nie was mit c funktionen zu tun und kann deswegen den Code nicht lesen (verstehen)!


Hi Tobi,

möglicherweise hast Du da recht...

An Ludwig: dann erzähl uns doch mal mit welcher Programmiersprache Du bisher zu tun hattest, d.h. welche Du kennst und kannst. Denn API-Funktionen kann man aus jeder Programmiersprache heraus aufrufen, bei den MFCs sieht es da schon etwas anders aus.

Was das fertige Programm angeht: Jenes das ich ins Forum gestellt habe, ist deshalb ein fertiges Programm, weil sich die grundsätzliche Vorgehensweise damit am besten zeigen lässt, und man es sofort ausprobieren kann. Und wie Dir inzwischen hoffentlich klar sein sollte: Eine fertige Funktion, mit der Du Dein spezielles Problem lösen kannst, gibt es nicht. Die musst Du Dir selber bauen. Dazu kannst Du aus den Funktionen auswählen, die die API zur Verfügung stellt, oder auch aus denen, die eine Programmiersprache anbietet.

Hans
--
Man muss nicht alles wissen, aber man sollte wissen, wo es steht. Zum Beispiel hier: Nachdenkseiten oder Infoportal Globalisierung.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
017
07.11.2002, 23:47 Uhr
~Ludwig
Gast


Ich habe bis jetzt nur mit c++ und seit längerer zeit auch mfc gearbeitet.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
018
09.11.2002, 11:15 Uhr
Tobi



Ok, grundsätzlich kannst du in MFC auch c-Befehle einsetzen!
Eine kurze erklärung:
FILE *: Pointer auf ein FILE-struct. wird benötigt zum lesen und schreiben
argc: normalerweise die anzahl der parameter
printf: gibt einen formatierten text in der konsole aus
exit: beendet den aktuellen prozess
fopen: öffnet eine datei (mit FILE*)
argv[n]: zugriff auf parameter: argv[0]: Dateiname, die anderen (bis argv[argc]) paramter
fread: lesen aus einer datei
fwrite: schreiben aus einer datei
fclose: schließen der datei

du kannst die befehle auch alle in der msdn nachschaun
--
Mit Computern können wir Probleme lösen die wir ohne sie gar nicht erst hätten!

mfg

Tobi
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


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: