[c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset
一、memset
#include<stdio.h>
#include<stdlib.h>
#include<memory.h> void *mymemset(void *p, int num, int len) {
char *px = (char *)p;
if (p == NULL)
return NULL;
while (len>)
{
*px = (char)num;
px++;
len--;
}
return p;//因为上述代码是对px进行操作,p的地址没有变化,所以最后返回p
} void main() {
char str[]= {"china is great"};
int num[] = { ,,,, };
float f[] = { 1.0,2.0,3.0,4.0,5.0 };
//memset(str, '\0', 40);
mymemset(str, '\0', );
printf("%s\n",str);
mymemset(num,,);
mymemset(f,,);
for (int i = ; i < ; i++)
printf("%d,%f\n",num[i],f[i]); system("pause");
}
二、Unicode及宽字符
#include<stdio.h>
#include<stdlib.h>
#include<locale.h>//设置本地化 void main0() {
//字符串可以显示汉字,字符不可以,字符连在一起%c%c可以输出一个汉字
char str[] = "你好中国";
char ch = '我';//char只能是字母,数字,字符
printf("%s\n", str);
printf("%c%c\n",ch);//ch无法正常输出‘我’,ASCII表里面没有‘我’
printf("%c%c\n",str[],str[]);//输出一个汉字,一个汉字占两个字节
system("pause");
} void main() {
wchar_t ch = L'我';//L宽字符或者宽字符串
printf("%d\n",sizeof(ch));//2个字节
setlocale(LC_ALL,"chs");//简体中文
wprintf(L"%wc\n", ch);//汉字当做一个字符 wchar_t str[] = L"我是一个好人ABC";
wprintf(L"%s\n", str);
system("pause");
}


#include<stdio.h>
#include<stdlib.h>
#include<Windows.h> void main() {
//MessageBox(0, "滴,不准用快播飙车!", "360安全卫士", 0);//使用多字节字符集时正常运行
//MessageBox(0,L"滴,不准用快播飙车!",L"360安全卫士", 0);//使用Unicode字符集时,需要加‘L’
MessageBoxA(, "滴,不准用快播飙车!", "MessageBoxA", );//无论是多字节还是Unicode,始终以多字节运行
MessageBoxW(, L"滴,不准用快播飙车!", L"MessageBoxW", );//无论是多字节还是Unicode,始终以Unicode运行
MessageBox(,TEXT("滴,不准用快播飙车!"),TEXT("TEXT"), );//自动适应多字节或者Unicode }



三、strset
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string> void mystrset(char *p, char ch) {
while (*p)
{
*p = ch;
p++;
}
} void main() {
char str[] = "yincheng8848";
printf("before:%s\n", str);
//_strset(str, '8');//_strset标准C语言
mystrset(str, '');//_strset标准C语言
//_strset(str, '\0');//清空字符串
printf("after:%s\n", str);
system("pause");
}

[c/c++] programming之路(25)、字符串(六)——memset,Unicode及宽字符,strset的更多相关文章
- SQL注入之Sqli-labs系列第三十六关(基于宽字符逃逸GET注入)和三十七关(基于宽字节逃逸的POST注入)
0X1 查看源码 function check_quotes($string) { $string= mysql_real_escape_string($string); return $string ...
- 宽字符与Unicode (c语言 汉语字符串长度)
在C语言中,我们使用char来定义字符,占用一个字节,最多只能表示128个字符,也就是ASCII码中的字符.计算机起源于美国,char 可以表示所有的英文字符,在以英语为母语的国家完全没有问题. 但是 ...
- GO语言的进阶之路-Golang字符串处理以及文件操作
GO语言的进阶之路-Golang字符串处理以及文件操作 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 我们都知道Golang是一门强类型的语言,相比Python在处理一些并发问题也 ...
- Python之路【第六篇】:socket
Python之路[第六篇]:socket Socket socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字&quo ...
- [精校版]The Swift Programming Language--语言指南--字符串和字符 (转)
今天装了10.10.马上就可以实际编写swift了.还是很兴奋啊. 哈哈.字符串和字符是大家最容易打交道的.今天就转一下讲解swift中字符串和字符的文章.希望对大家有帮助. 原文地址:http:// ...
- 【python之路25】正则表达式
一.正则表达式简介 就其本质而言,正则表达式(或RE)是一种小型的.高度专业化的(在python中),它内嵌在python中,并通过RE模块实现.正则表达式编译成一系列字节码,然后由用C编写的匹配引擎 ...
- Learning ROS for Robotics Programming Second Edition学习笔记(六) indigo xtion pro live
中文译著已经出版,详情请参考:http://blog.csdn.net/ZhangRelay/article/category/6506865 Learning ROS for Robotics Pr ...
- 在论坛中出现的比较难的sql问题:25(字符串拆分3)
原文:在论坛中出现的比较难的sql问题:25(字符串拆分3) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉得有必要记录下 ...
- python学习之路06——字符串
字符串 1.概念 字符串就是由若干个字符组成的有限序列 字符:字母,数字,特殊符号,中文 表示形式:采用的单引号或者双引号 注意:字符串属于不可变实体 2.创建字符串 str1 = "hel ...
随机推荐
- pyqt4手动编写资源文件
资源文件resource.qrc为XML格式,格式较简单,可以手动编辑: <!DOCTYPE RCC><RCC version="1.0"> <qre ...
- windows 下安装 mongodb 时间太久,卡在那里不动
1.mongodb官网下载:http://www.mongodb.org/downloads 2.双击程序安装,会出现如下,卡着不动,时间太久,也取消不了 3.是因为安装时默认勾选 compass 图 ...
- CF886C Petya and Catacombs
题目描述 A very brave explorer Petya once decided to explore Paris catacombs. Since Petya is not really ...
- pandas读取文件报错
path = 'D:/Postgraduate/Python/Machine Learning/小象学院机器学习/08.回归实践/8.Regression代码/8.Regression/8.Adver ...
- WordCount扩展
码云地址:https://gitee.com/xjtsh/ExpandedWordCount 功能实现: wc.exe -c file.c //返回文件 file.c 的字符数 wc.exe ...
- 【Linux内存源码分析】vmalloc不连续内存管理(转)
https://www.jeanleo.com/2018/09/09/%E3%80%90linux%E5%86%85%E5%AD%98%E6%BA%90%E7%A0%81%E5%88%86%E6%9E ...
- 新版Ubuntu安装日文输入法
在Ubuntu的设置中安装日文输入法 本周在调试书上代码时需要安装日文输入法,我发现在百度上并没有在最新版Ubuntu下安装日文输入法的教程,于是我写了这篇博客来与大家分享一下我的安装过程. a.如图 ...
- CentOS 7.6 安装Oracle 12c
下载地址: http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html https://www ...
- 使用PyQT开发图形界面程序
环境 python:v3.3 PyQT:v4.10.4 注意问题: 在主文件前面加入,否则当前的工程模块无法找到 import sys sys.path.append(".") 入 ...
- 目标检测(一)RCNN--Rich feature hierarchies for accurate object detection and semantic segmentation(v5)
作者:Ross Girshick,Jeff Donahue,Trevor Darrell,Jitendra Malik 该论文提出了一种简单且可扩展的检测算法,在VOC2012数据集上取得的mAP比当 ...