4

VisualStudioを使用してWindowsで著作権記号を印刷するのに苦労しています。0xA9は著作権記号のASCIIコードであり、Windows以外のプラットフォームで機能することを理解しています。しかし、Windowsでは、同じコードを使用して著作権記号を印刷することはできません。

#include "iostream.h"
using namespace std;


int main(int argc, char * argv[])
{

        cout << (char)0xA9 << " Copyright symbol" << endl;

        return 0;
}

Linux / HP-UXおよびAIXでの出力:© Copyright symbol

Windowsでの出力:⌐ Copyright symbol

私はWindowsを初めて使用しますが、誰かが私を助けてくれますか。

4

4 に答える 4

5
于 2013-03-22T06:41:10.207 に答える
1

ASCII0xa9ではないことに注意してください(7 ビット文字で、範囲が制限されています)。ISO/IEC 8859-1の可能性があります。最近の多くの現行システム (今日のほとんどの Linux 端末を含む) は、著作権グリフが 2 バイトでエンコードされるUTF-8を使用しているため、C または C++ ソースで or をコーディングします。したがって、 UTF-8 を使用する私の Linux では、あなたのプログラムは著作権記号を表示しません。0 - 0x7f"\302\251""\xc2\xa9"xfce4-terminal

一部の Windows マシンでは、異なるエンコード システムが使用されていました。

システム(LinuxでもWindowsでも)をセットアップして、可能であれば端末でUTF8文字エンコーディングを使用します(またはUTF16ワイド文字を使用します)。どこでも UTF-8について読んでください。

(C)ASCII エンコーディングには著作権グリフがないため、従来の ASCII による著作権の喚起は非常に一般的です。

于 2013-03-22T06:27:51.457 に答える
-2

Alt+0169 を使用できます。私が間違っていたら許してください。

于 2013-07-20T07:52:07.943 に答える