Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dateien Senden

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 ] [ 3 ] [ 4 ] > 5 <
040
10.09.2005, 17:29 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


ich bin da dann immer dafür fopen und co zu nehmen, dann find ichs übersichtlicher, ist aber geschmacksache:


C++:
FILE *in = fopen("D:\\test.wav", "rb");
if(!in)
  // fehler datei nicht gefunden/sonstwas
fseek(in, 0, SEEK_END);
unsigned long length = ftell(in);
fseek(in, 0, SEEK_SET);

char *buffer = new char[length+1]; // ok vorsicht wenn die datei zu groß ist ;)
if(!buffer)
  // blubb!

fread(buffer, 1, length, in); // parameter hoffentlich richtig rum -.-
fclose(in);

unsigned long offset = 0;
while(offset < length)
{
  int sd = send(s, (buffer + offset), length - offset, 0);
  offset += sd;
}

delete[] buffer;


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
041
10.09.2005, 17:49 Uhr
Michi



Gut,
Kannst du mir dan direkt auchden recv geben?
Bei mir is der das prog manchmal abgestürtzt wenn ich fopen etc. benutzt habe,
und kannst du mir sagen, was:
1.fseek
2.ftell

bringt/beeutet?
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
042
10.09.2005, 17:56 Uhr
Michi



Und selbst bei diesem hier schmiert VC++ 6.0 ab:

#include <stdio.h>

int main ()
{
char buffer[128]="HALLO";
FILE *datei=fopen("D\test.txt","w");
fwrite(buffer, 1, sizeof(buffer),datei);
fclose(datei);
return 0;
}
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
043
10.09.2005, 18:48 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
FILE *in = fopen("D:\\test.wav", "rb");
if(!in)
  // fehler datei nicht gefunden/sonstwas
fseek(in, 0, SEEK_END);
unsigned long length = ftell(in);
fseek(in, 0, SEEK_SET);

char *buffer = new char[length+1]; // ok vorsicht wenn die datei zu groß ist ;)
if(!buffer)
  // blubb!

fread(buffer, 1, length, in); // parameter hoffentlich richtig rum -.-
fclose(in);

buffer[length] = '\0';

if(send(s, (char*)&length, sizeof(long), 0) != sizeof(long))
  // fehler beim senden der größe

unsigned long offset = 0;
while(offset < length)
{
  int sd = send(s, (buffer + offset), length - offset, 0);
  offset += sd;
}

delete[] buffer;





C++:
unsigned long length = 0;

if(recv(s, &size, sizeof(length), 0) != sizeof(length))
  // error, größe empfangen fehlgeschlagen, bzw unvollständig

FILE *out= fopen("D:\\output.wav", "wb");
if(!out)
  // fehler datei nicht schreibbar/sonstwas

char *buffer = new char[length+1]; // ok vorsicht wenn die datei zu groß ist ;)
if(!buffer)
  // blubb!

unsigned long offset = 0;
while(offset < length)
{
  int rd = recv(s, (buffer + offset), length - offset, 0);
  offset += rd;
}

buffer[length] = '\0';

fread(buffer, 1, length, out); // parameter hoffentlich richtig rum -.-
fclose(out);

delete[] buffer;


--
class God : public ChuckNorris { };

Dieser Post wurde am 10.09.2005 um 18:49 Uhr von FloSoft editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
044
10.09.2005, 19:02 Uhr
Michi



Aber der das programm muss beendet werden.
das is immer bei fopen etc. sachen
Weist du vl wieso?
ich benutze Visual C++ 6.0
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
045
10.09.2005, 19:34 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


schätz mal das er die datei entweder nicht schreiben kann bzw nicht lesen kann, deswegen sollte man überprüfen ob das handle was fopen zurückgibt auch gültig ist
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
046
10.09.2005, 19:54 Uhr
Michi



Kann mir nicht jemand den Code sagen,
ohne fopen etc. ???
Bitte helft mir
MFG
Michael
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
047
10.09.2005, 20:05 Uhr
Spacelord
Hoffnungsloser Fall


Ich habe das unbestimmte Gefühl dass du dich im Moment etwas jenseits deiner Möglichkeiten bewegen möchtest.Daran solltest du was tun.
Keiner wird dir auf Dauer fertige Lösungen liefern....

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
048
10.09.2005, 20:12 Uhr
Michi



Ich bin nur verzweifelt und kann mich gar nicht mehr konzentrieren...
Sorry...

--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
049
11.09.2005, 13:35 Uhr
Michi



Kenn ihr weningstes ein Beispiel?
Ich habe schon gegoolgelt, nichts gefunden
MFG
Michael
--
_____________________________________
_____________Open Source_____________
___Das Wissen, gehört der Menschheit____
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] [ 2 ] [ 3 ] [ 4 ] > 5 <     [ C / C++ (WinAPI, Konsole) ]  


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: