Warum höre ich einen Signalton bei diesem Programm? [Duplikat]

7

Ich habe diese char szPrivateKey[] -Definition in einer Quelle gesehen, als ich gelesen habe, also ging ich hin, um nachzusehen, was es war, seltsamerweise macht das ein Geräusch, wenn das Programm ausgeführt wird. Ist hier ein Osterei oder so? (kompiliert mit Visual Studio 2003 / Windows)

%Vor%     
Vinícius Magalhães Horta 05.07.2013, 23:47
quelle

4 Antworten

14

Da es eine 0x07 (in der Zeile, die mit 0xBA beginnt) in szPrivateKey - 0x07 oder CTRL-G gibt, wird auf den meisten Systemen ein BEL -Zeichen stehen, so dass es auf einem alten Fernschreiber klingelt . Moderne Computer und selbst 30 Jahre alte Terminals haben keine mechanischen Klingeln (auch keine Schreibmaschinen, wenn Sie heutzutage eine finden), daher verwenden sie stattdessen einen Piepton.

In C und C ++ können Sie ein BEL-Zeichen in einem String mit "\a" erstellen (und es funktioniert auch auf Systemen, die kein ASCII verwenden, wo es das entsprechende Zeichen in einem Nicht-ASCII-System generiert ).

Übrigens ist das kein "Osterei", es ist die Konsequenz etwas zu drucken, das nicht wirklich "Text" ist, also sollte nicht mit cout angezeigt werden. Sie können dasselbe mit type myfile.dat oder etwas ähnlichem erreichen (unter der Annahme, dass myfile.dat eine binäre Datei ist und ein 0x07 Byte enthält).

    
Mats Petersson 05.07.2013, 23:51
quelle
20

Zeichen 0x07 ist das ASCII-Glockenzeichen. Die Unterstützung variiert, aber das Senden an eine Konsole führt in der Regel zu einem einzelnen Piepton.

    
user2357112 05.07.2013 23:51
quelle
8

Hier sind die ersten 10 Einträge der ascii-Tabelle:

%Vor%

Beachten Sie den ASCII-Code 7, viele Terminals werden einen hörbaren Ton ausführen, wenn Sie dieses Zeichen darauf schreiben.

    
nos 05.07.2013 23:53
quelle
4

\a , auch bekannt als BEL , hat in den meisten Maschinen eine% 0x07 .

Aus C ++ 11 2.14.3

  

Alarm BEL \ a

Ab C99 5.2.2

  

\ a (Alarm) Erzeugt einen hörbaren oder sichtbaren Alarm, ohne die aktive Position zu ändern.

    
Yu Hao 05.07.2013 23:51
quelle

Tags und Links