Datenaustausch zwischen 2 Rechnern - API?



  • Aber de windows.h brauchste doch, ansonnsten wenn de eh kein MFC benutzt biste sogar im falschen bereich vom Forum (hier dreht sich alles um MFC). Da werden dir hier nur die eingefleichten helfen können, ich auf jeden Fall nicht.

    Gruß Matthias



  • filth schrieb:

    ...
    ich würde es gerne mit fstream lösen und die Datei zeilenweise einlesen und verschicken.

    fstream f;
    	char cstring[1024];
    	f.open("C:\\test.txt", ios::in);
    	while (!f.eof())
    	{
    		f.getline(cstring, sizeof(cstring));
    		strcpy(Send->DataLine, cstring);		
    	}
    	f.close();
    

    du kannst std::string und getline benutzen

    fstream f;
    	std::string cstring;
    	f.open("C:\\test.txt", ios::in);
    	while (!f.eof())
    	{
    		getline(f,cstring);
    		strcpy(Send->DataLine, cstring.c_str());
    	}
    	f.close();
    

    [/cpp]



  • Mal eine andere Frage, unabhängig von der Einlese-Geschichte:

    Auf der Empfängerseite habe ich folgendes:

    char buffer[256];		// On the stack
    
    	int nret = recv(theSocket,
    		buffer,
    		256,		// Complete size of buffer
    		0);
    

    Wie kann ich denn die Buffergröße abhängig von der Größe, der zu empfangender Daten, einstellen? - Gerne auch mit Benutzung von MFC 🙂



  • meines wissens gar nicht, da du ja nicht weisst wieviel daten kommen und du holst solange deine Datwen mit recive ab bis keine daten mehr kommen, außerdem wenn das deine Datenübertragung is, haste doch de größe im Header stehen (also in deinem Selbstgebastelten). Dann holste die größe vom Header Daten ab schaust ob alles io is und wieviel du speicher resevieren mußt um die restlichen Daten abzuholen. Oder hab ich mal wieder daneben gegriffen.

    Gruß Matthias



  • Theoretisch geht das so, die Größe bekomme ich über den Header. Wie reserviere ich aber praktisch den entsprechenden Speicher?

    Meines Wissens muss ja die Arraygröße vor dem Compilieren bekannt sein und kann nicht erst zur Laufzeit angegeben werden?

    Gruß
    Alex



  • Warum kannst du das nicht während der Laufzeit, schon mal mit new gearbeitet?

    also

    char *buffer = new char[size]; //Size is die größe des Puffers
    

    und schon kannste das während der Laufzeit.

    Gruß Matthias



  • Vielen Dank, es scheint zu funktionieren 😮 😃



  • schreibst du alles im stile, es scheint zu funktionieren? *lol*

    Gruß Matthias



  • CTecS schrieb:

    schreibst du alles im stile, es scheint zu funktionieren? *lol*

    Gruß Matthias

    Ist ja nur die Dipl Arbeit 😃



  • na da machts ja nix 😃


Anmelden zum Antworten