createFile

  • ich möchte in c++ über createFile ein com Port ansprechen. das ganze funktioniert perfekt mit folgendem code:

    TCHAR *pcCommPort = TEXT("COM6");
    mhRS = CreateFile( pcCommPort,
    GENERIC_READ | GENERIC_WRITE,
    0, // must be opened with exclusive-access
    NULL, // default security attributes
    OPEN_EXISTING, // must use OPEN_EXISTING
    FILE_ATTRIBUTE_NORMAL,
    NULL // hTemplate must be NULL for comm devices
    );

    jetzt will ich aber das COM6 nicht hartcodiert haben. dazu hab ich das ganze in eine methode gepackt und als parameter kommt als short 6 herein. ich schaffe es nicht COM6 daraus zu machen. weiß jemand wie das geht?

    :thumb: Ich bin positiv eingestellt, sogar meine Blutgruppe ist positiv!

  • unsigned short blah....

    //Falls nur <10 comports behandelt werden sollen kann man sich das ganz
    //Eigentlich sparen und mit der string Klasse gehts noch gemütlicher

    char *numStr[6];
    itoa(blah,numStr,10);
    size_t len = strlen(numStr);
    char comport[len+4];
    comport[len+3]=0;
    strncpy(comport,"COM",3);
    strncpy((char *)(comport+3),numStr,len);

    sollte funktionieren, wenn sowieso nur kleiner als 10 ist
    char* comPort = "COM0";
    comPort[3]=48+blah;

    wenn man nicht die Standard-Funktionen benutzen möchte
    müsste man händisch umwandeln (Tipp: Modulo 10)

    mfg Schakal

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!