C in C++



  • Hallo, ich versuche folgenden Code:

    while (kbhit()) {
      c = getch();
      printf("%c", c);
      if (c == 13) {
      /* Inhalt senden
       * int send(int descriptor, char *message, int msg_len, int flags);
       * zeile zuvor zeigt die send() - Anweisung
       */
         printf("\n");
         send(sd, clntbuf, i, 0);
         clntbuf[0] = '\0';
         i = 0;			// clntbufposition auf null setzen  
      }else {
         clntbuf[i++]=c;	// character in das clntbuffeld schreiben
      }
    }
    

    so zu schreiben, dass mit C++ cin.get(c) umgesetzt wird. Leider klappt das irgendwie nicht. Könntet ihr mir da helfen?



  • Wie ganu äußert sich "klappt nicht"? getch() ist keine Ansi-Funktion und nicht 1:1 identisch zu cin.get(). getch() liest unmittelbar die (afaik) gerade gedrückte Taste, getc()/getchar() (C) bzw. cin.get() holt die Eingabedaten aus dem Tastaturpuffer.



  • du könntest den code in eine funktion packen, als .C compilieren und von c++ aus diese funktion als extern "C" aufrufen.


Log in to reply