您的位置:首页 > 其它

20150401数据类型补充

2016-05-26 23:13 381 查看
一.宽字符

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();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: