20150401数据类型补充

一.宽字符

1.MessageBox:和编译器设置有关,当编译器设置为多字节就为宅字符,unicode为宽字符


2.MessageBoxA:A代表调用多字节,宅字符,宅字符结尾只有一个\0,占用一个字节


MessageBoxW:W代表宽字符,结尾有两个\0,占用两个字节,使用时需加上L:MessageBoxW(0,L"你好世界",L"你好世界",0);

3.TEXT可以兼容自动调整,自动匹配宽窄字符,例:MessageBoxW(0,TEXT"你好世界",TEXT"你好世界",0);

示例:

<span style="font-size:24px;">#include <stdio.h>
#include <locale.h>//如果有中文字符必须引进该头文件,然后设置中文

void main() {

	setlocale(LC_ALL, "ZH-CN");//设置本地化,中文
	wchar_t wstr[10] = L"1234吴志刚";//定义宽字符前面加w
	wprintf(L"%ls", wstr); //宽字符用wprintf输出,L,l处理宽字符

	system("pause");
}</span>

4.不能用printf输出宽字符,也不能用wprintf输出宅字符


5.宽字符putwchar输出到屏幕


示例:

void main1()
{
	 char ch = 'A';//表示范围小,节约内存
	 wchar_t ch1 = L'0';//宽字符的2个字节,表示范围

	 printf("\n%d,%d", sizeof(char), sizeof(wchar_t));
	 printf("\n%d,%d", sizeof(ch), sizeof(ch1));


	 printf("\n%d", sizeof("1我")); //4
	 printf("\n%d", sizeof(L"1我"));//1 字符,我,1一个字符,\0

	 MessageBox(0, L"你好天朝", L"你好世界", 0);
	 //设置unicode  MessageBox(0, L"你好天朝", L"你好世界", 0);
	 //设置为多字节  MessageBox(0, "你好天朝", "你好世界", 0);
	 //与设置有关,默认unicode,需要宽字符,设置多字节字符集 窄字符

}

示例:本地化、宽字符

#include <stdio.h>
#include<locale.h>//本地化


void main1()
{

	char str[10] = "我";
	printf("%s", str);
	printf("\n%c%c", str[0],str[1]); //窄字符显示汉字

	getchar();


}

void  main2()
{
	//wchar_t wstr[10] = L"1234”;
	setlocale(LC_ALL, "ZH-CN");//代表中文
	wchar_t wstr[10] = L"1234我是色狼";//宽字符用wprintf,显示英文
	wprintf(L"%ls", wstr);//L,l宽字符处理



	system("pause");


}

void  main3()
{
	setlocale(LC_ALL, "ZH-CN");//代表中文
	wchar_t ch = L'我';
	putwchar(ch);

	system("pause");


}

void main4()
{
	char ch = 'A';
	wchar_t wch = L'A';

	printf("%d", wch);

	system("pause");




}

void main()
{
	//printf("%s", L"我打算的"); //不匹配
	wprintf(L"%ls", "我是");
	getchar();

}

四.整数操作的意义

示例:

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include <stdlib.h>


void main()
{
	int N;
	char cmd[100];
	scanf("%[^\n]", cmd);//处理带空格的字符串
	scanf("%d", &N);
	char strcmd[200] = { 0 };
	sprintf(strcmd, "for /l %%i  in (1,1,%d) do %s", N, cmd);//映射
	system(strcmd);
	system("pause");


}

五.随机数

示例:

#include<stdio.h>
#include <stdlib.h>
#include <time.h>

//0---100
//>=80

void main1()
{
	time_t ts;
	unsigned int num = time(&ts);//获取时间种子
	srand(num);

	int data = rand()%100;//随机数依赖种子
	printf("%d", data);
	getchar();


}

void main()
{

	time_t ts;
	unsigned int num = time(&ts);//获取时间种子
	srand(num);
	int data = rand() % 100;//随机数依赖种子
	printf("%d", data);
	data >= 90 ? printf("赢了") : printf("输了");


	getchar();
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值