一.宽字符
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();
}