20150401数据类型补充

Posted wzg31796

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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();



以上是关于20150401数据类型补充的主要内容,如果未能解决你的问题,请参考以下文章

Spark RDD 宽窄依赖

Spark RDD基本概念宽窄依赖转换行为操作

去掉数字格式结尾多余的零,补充数字格式结尾需要的零

宽窄字符

Spark---宽窄依赖

js 宽窄屏切换效果优化感悟