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);
示例:
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();
}
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();
}
相关文章推荐
- 树莓派Raspberry Pi使用小记
- mysql gtid问题
- [javaSE] 集合框架(迭代器)
- 青蛙跳阶有关的斐波拉契数列
- Codeforces Round #354 (Div. 2) D (BFS)
- Maven3路程,用Maven创建第一个web项目
- 设计模式:结构型
- leetcode(11),Power of Three(python)
- 操作系统 内存地址(逻辑地址、线性地址、物理地址)概念
- 自定义注解 相关知识汇总(转)
- eclipse中jar包打断点
- 2016.5.26
- 从extern说开去(一)
- python二进制解析strut.upack的错误unpack requires a string argument of length 4
- 完整Android项目搭建全过程
- 计算机组成体系结构总览
- Android Retrofit 2.0框架上传图片解决方案(一张与多张的处理)
- yii
- 8253实现定时,使8253输出周期为1秒,高电平:低电平=4:5的脉冲信号
- css3 -- 多列