簡體   English   中英

特殊字符C / C ++

[英]Special characters C/C++

當我使用NetBeans編譯下面的代碼時,程序的輸出是終端中的一些奇怪字符(testeééõ)。 不幸的是,我找不到解決方案。

有人經歷過嗎? 知道解決方案嗎?

#include <stdio.h> 
#include <locale.h> 

int main(int argc, char** argv) { 
setlocale(LC_ALL,""); 
printf("teste á é õ"); 
return (0); 
} 

我的編譯器是MinGW,我的母語是巴西葡萄牙語。

樣本配置和版本

輸出:

輸出

它們不是ASCII字符。

ASCII字符0-31是各種空格字符,沒有標准化的方式來打印它們。 這是“擴展的ASCII表”。 不能保證這些確切的符號將被打印在您的特定平台上。

它們在Windows 7上對我來說運行良好,並通過GCC和Embarcadero C ++測試,都可以打印這些符號。 但是在另一個OS和/或編譯器上,可能會打印不同的符號或根本不打印任何內容。

在所有系統上,只能保證ASCII字符32-126是可打印的,並且符號相同。

C ++是一種英語語言,只能打印英語中的原始ASCII代碼,某些第三方庫(例如Curses)可以使您解決這個問題並打印一些非ASCII代碼庫, 網址為http : //www.melvilletheatre.com/articles/ ncurses-extended-characters / index.html

但是在大多數情況下,由於沒有實際用途,所以我看不到為什么要打印這些字符。

其他說明:您不能執行此操作,因為原始ASCII代碼包含127種類型。 二進制和填充物,對問題的回答不同,所以只知道它們僅允許127個字母,在這里可以找到更多。 enwikipedia.org/wiki/ASCII和williamrobertson.net/documents/ascii.html(此代碼為您提供了可以用C ++實際打印的內容)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM