回覆列表
-
1 # catinwater
-
2 # Hello world1
首先輸入中文,建議使用wscanf函數,這是C語言提供的寬字符版的輸入函數。
其次,輸出中文編碼可以使用wprintf函數,這是C語言提供的寬字符版的輸出函數,通過輸出輸出格式來看到中文的編碼,一般用16進制格式輸出字符的編碼,因為兩個16進制數是一個字節,容易識別,換句話說一個中文漢字要4個16進制數。
再次,在c語言程序中存儲中文漢字,建議使用wchar寬字符數據類型定義的變量或者數組,我使用gcc作為測試環境,需要添加頭文件<wchar.h>。
最後,需要藉助於setlocale函數來設置一下環境,這個需要頭文件locale.h
setw(x)用於流操作符<<輸出之中,是對直接跟在<<後的輸出數據聲明對齊的作用。
該函數不僅用於VC++,這是標準C++運行庫函數,多數C++編譯器都支持。
setw輸出對齊,就是用於控制檯下,每個輸出的對齊顯示,對齊的方法,就是不足指定x個長度時,用默認空格(或指定字符)補齊長度後輸出。
示例:
#include <iostream>
#include <iomanip>
using namespace std;
void main(){
//123不足10個長度,後面補7個空格
cout << setw(10)<< 123 << endl;
//聲明右對齊,前面補7個空格
cout << setw(10) << setiosflags(ios::right) << 123 << endl;
//用*星號而不是空格,來補足10個位置
cout << setw(10) << setfill('*') << 123 << endl;
}