Sto lavorando con Arduino.Come inviare ctrl + z in C
Voglio inviare Ctrl +z dopo una serie in C. Ho provato troncando ^Z
ma che non ha funzionato. Quindi come farlo?
Sto lavorando con Arduino.Come inviare ctrl + z in C
Voglio inviare Ctrl +z dopo una serie in C. Ho provato troncando ^Z
ma che non ha funzionato. Quindi come farlo?
Ctrl + Z = 26 = '\032'
= '\x1A'
. Una delle sequenze di escape backslash può essere scritta in una stringa letterale (ma attenzione con la fuga esadecimale come se fosse seguita da una cifra o da AF o af, che verrà conteggiata come parte della fuga esadecimale, che non è ciò che tu vuoi).
Tuttavia, se si simula l'ingresso del terminale su una macchina Windows (quindi si desidera che il carattere sia trattato come un'indicazione EOF), è necessario ripensarci. Non è così che funziona.
Può o non può fare quello che vuoi con Arduino, sia; in parte, dipende da cosa pensi che farà. Dipende anche dal fatto che la stringa di input verrà trattata come se provenisse da un terminale.
Suppongo che "troncando" in realtà intendessi aggiungere.
in ASCII, CTRL + z è il punto di codice 26 in modo da poter semplicemente accodare che come personaggio, qualcosa come:
#define CTRL_Z 26
char buffer[100];
sprintf (buffer, "This is my message%c", CTRL_Z);
Il metodo sprintf
è solo uno dei modi di facendo tutto questo, fondamentalmente dipendono da voi mettendo un singolo byte alla fine con il valore 26.
come semplicemente usare la sequenza di escape \ xFF dove FF sono due cifre esadecimali per il codice. quindi: "Questo è il mio messaggio \ x1A" – matt
ho inciso questo come avevo bisogno di simili
#include <stdio.h>
#define CTRL(x) (#x[0]-'a'+1)
int main (void)
{
printf("hello");
printf("%c", CTRL(n));
printf("%c", CTRL(z));
}
Speranza che aiuta 8)
char ctrlz = 0x1A; – yeyo
http://en.wikipedia.org/wiki/ASCII#ASCII_control_code_chart per ulteriori riferimenti. – TNW
* nix, 'man ascii' – yeyo