在C++中的输出字符串中插入"£"符号

5 c++ ascii

我有以下代码:

cout << "String that includes a £ sign";
Run Code Online (Sandbox Code Playgroud)

但是,编号不会识别£符号,而是显示重音u.我可以使用以下方法插入一个:

cout << "String that includes a " << char(156) << " sign";
Run Code Online (Sandbox Code Playgroud)

其中156是£符号的ASCII码.有没有办法我可以将这个ASCII码包含在字符串本身而不必像这样分开?例如:

cout << "String that includes a <some way of iserting the £ sign> sign";
Run Code Online (Sandbox Code Playgroud)

Pau*_*l R 13

£没有"ASCII码" - ASCII是7位(0..127).存在各种扩展的8位字符集,其中包括£但没有单一标准,并且£符号在不同环境中可具有各种不同的值.如果您需要具有最大可移植性的国际符号,则应该使用Unicode.

  • 是的.但是,您可以尝试`std :: wcout << L"包含£符号的字符串";`.根据您的平台,这可能会有效. (3认同)
  • 为了澄清。在 Visual Studio 中:项目 -&gt; 属性 -&gt; 配置属性 -&gt; 常规 -&gt; 将“字符集”从“使用多字节字符集”更改为“使用 Unicode 字符集” (2认同)

Car*_*lis 8

您可以使用\x转义序列插入带有十六进制代码的字符.在你的情况下

cout << "String that includes a \x9C sign";
Run Code Online (Sandbox Code Playgroud)

就像保罗所说,这只是输出一个代码为156的字符,但不能保证它实际上是不同系统上的英镑符号.