Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Versenden von Daten über einen virtuellen ComPort

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
13.03.2006, 20:03 Uhr
Isabelle



Also unter einem Array versteh ich so was:

char buffer [] = {'H', 'A', 'L', 'L', 'O'};

und unter einer Zeichenkette eben so was

String str = "Hallo";

Versteh ich da irgendetwas falsch?!

Grüße,
Isabelle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
14.03.2006, 09:18 Uhr
Isabelle



So, ich habe die Lösung von Flo mal ausprobiert. Es kompiliert zwar, aber bei der Ausführung erhalte ich, wenn ich auf den ComPort schreibe, den Fehler 998, also unzulässiger Zugang auf einen Speicherbereich. Den Fehler hatte ich schon einmal und das lag daran, dass ich in WriteFile für den buffer etwas falsches übergeben habe. In diesem Fall also einen Pointer auf einen const char.
Gibt es denn keine andere Möglichkeit einen String in ein char-Array einzulesen?

Grüße,
Isabelle

Trotzdem danke für eure Hilfe, ich hätte nicht gedacht, dass das so schwierig ist!!!

Dieser Post wurde am 14.03.2006 um 09:19 Uhr von Isabelle editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
14.03.2006, 09:26 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


welches hast du ausprobiert? das erste oder das "letzte"? ansonsten sollte das erste auch gehen wenn du den expliziten C-Cast weglässt. Das zweite ist ja wie gesagt ungültig, hab ich ja extra geschrieben das es SO nicht gehen wird.
--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
14.03.2006, 10:00 Uhr
Isabelle



Nee, das letzte habe ich nicht ausprobiert, nur das erste. Da habe ich zuerst diesen Fehler 998 bekommen, was aber daran lag, dass der virtuelle ComPort inaktiv war (Sorry).
Mit angeschaltetem ComPort wurde auch etwas übertragen, aber leider nur wieder völlig unsinnige Zeichen. Wenn ich den String zeichenweise auslesen und in ein Array schreiben müsste, wie würde ich denn da vorgehen. Muss ich dazu dann erst einen Iterator definieren oder gibt es so etwas schon?

Grüße,
Isabelle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
14.03.2006, 10:46 Uhr
FloSoft
Medialer Over-Flow
(Administrator)


Naja so:


C++:
char buffer[10000]; // je nachdem wie groß dein entgültiger string ungefähr wird
String str = "Dies ist ein kleiner Test";

strncpy(buffer, str.c_str(), 10000);


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
015
14.03.2006, 10:59 Uhr
Isabelle



@FloSoft Danke, danke, danke, es funktioniert!!!!

Ich habe schon mit dem Gedanken gespielt, die Werte als chars einzeln in mein Array einzulesen.

Danke auch an Guybrush Threepwood für die Hilfe.

Grüße,
Isabelle
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
016
14.03.2006, 11:18 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Also ich verstehe nicht wo das Problem ist:

C++:
#include <iostream>
#include <string>
#include <windows.h>

using namespace std;

int main()
{
    HANDLE hCom;
    DWORD dwWritten;
    string str = "blabla";

    hCom = CreateFile("COM1", GENERIC_READ | GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL);
    
    if (hCom)
    {
        WriteFile(hCom,str.c_str(),str.length(),&dwWritten,0);
        cout << dwWritten;
        CloseHandle(hCom);
    }

    return 0;
}



Den String extra nochmal in das Char Array zu kopieren ist unnötig...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ 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: