1. Weiterleitung zu NetzLiving.de
  2. Forum
    1. Unerledigte Themen
  3. zum neuen Forum
  • Anmelden
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

createFile

    • Frage
  • IT-Max
  • 5. Januar 2008 um 19:53
  • Unerledigt
Hallo zusammen,

das Informatik-Forum geht in den Archivmodus, genaue Informationen kann man der entsprechenden Ankündigung entnehmen. Als Dankeschön für die Treue bekommt man von uns einen Gutscheincode (informatikforum30) womit man bei netzliving.de 30% auf das erste Jahr sparen kann. (Genaue Infos sind ebenfalls in der Ankündigung)

Vielen Dank für die Treue und das Verständnis!
  • IT-Max
    Punkte
    155
    Beiträge
    19
    • 5. Januar 2008 um 19:53
    • #1

    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?

  • Stefan Kögl
    Punkte
    1.010
    Beiträge
    199
    • 5. Januar 2008 um 21:54
    • #2

    Versteh ich das richtig, dass du einfach eine Ganzzahl an einen String anhängen willst? Falls ja, was macht dann der ganze andere Code hier?

    -- Stefan

  • Schakal
    Punkte
    780
    Beiträge
    152
    • 6. Januar 2008 um 11:56
    • #3

    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

  • Maximilian Rupp 27. Dezember 2024 um 12:04

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

  1. Datenschutzerklärung
  2. Impressum