c++重溫之當字符成爲串

輸出篇

單字符成串

常用英文定義形式:

	char str[0xFF]{ "Hello" };			 //c風格 ,末尾的'\0'或者0,不要忘記
	const char* strA{ "World" };	 	 //cpp風格

常用中文定義形式:

	//假設當前計算機爲中文GBK編碼
	char str[0xFF]{ "Hello土豆" };			 //c風格 ,末尾的'\0'或者0,不要忘記
	const char* strA{ "World土豆" };	 	 //cpp風格

寬字符成串

常用英文定義形式:

	//c風格 ,寬字符嘛,每個字符甚至最後的'\0'都佔兩個字節
	wchar_t wstr[0x10]{ L"Hello" }; 
	const wchar_t wstrA[0x10]{ L"World" };  //cpp風格
	//注意用std::wcout輸出寬字符類型
	std::wcout << wstr << " " << wstrA << std::endl; 

結果:
在這裏插入圖片描述
常用中文定義形式:

#include <locale>  //必須包含
int main()
{
	setlocale(LC_ALL, "chs");  //改變本地字符集,默認是GBK,沒有這個則無法顯示中文
	wchar_t wstr[0x10]{ L"Hello土豆" };
	const wchar_t wstrA[0x10]{ L"World土豆" };
	std::wcout << wstr << " " << wstrA << std::endl;
}

結果:
在這裏插入圖片描述

輸入篇

單字符

c之常用形式:

	char str[0xFF];
	//scanf的安全用法,需添加一個最大輸入數量參數,防止輸入溢出;以及越界攻擊
	//若還想用scanf,在前面預編譯添加#define  _CRT_SECURE_NO_WARNINGS
	scanf_s("%s", str,10);  

c++之常用形式:

	char strA[0xFF];
	std::cin >> strA;
	std::cout << strA << std::endl;

寬字符

c之常用形式:

	wchar_t wstr[0xFF];
	 //寬字符輸入,中英混合都可以,只是每個字符都佔用兩個字節罷了
	 //加_s目的類似
	wscanf_s(L"%s", wstr,20); 
	wprintf(L"%s", wstr);

結果:
在這裏插入圖片描述
c++之常用形式:

	wchar_t wstr[0xFF];
	std::wcin >> wstr;
	std::wcout << wstr << std::endl;

感謝自己的努力拼搏!!老鐵們覺得還不錯的記得點個贊呦!我是航行的小土豆 謝謝!

發佈了20 篇原創文章 · 獲贊 19 · 訪問量 2340
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章