[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>0){*px = (char)num;px++;len--;}return p;//因为上述代码是对px进行操作,p的地址没有变化,所以最后返回p
}void main() {char str[40]= {"china is great"};int num[5] = { 1,2,3,4,5 };float f[5] = { 1.0,2.0,3.0,4.0,5.0 };//memset(str, '\0', 40);mymemset(str, '\0', 40);printf("%s\n",str);mymemset(num,0,20);mymemset(f,0,20);for (int i = 0; i < 5; 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[10] = "你好中国";char ch = '';//char只能是字母,数字,字符printf("%s\n", str);printf("%c%c\n",ch);//ch无法正常输出‘我’,ASCII表里面没有‘我’printf("%c%c\n",str[0],str[1]);//输出一个汉字,一个汉字占两个字节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[100] = 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(0, "滴,不准用快播飙车!", "MessageBoxA", 0);//无论是多字节还是Unicode,始终以多字节运行MessageBoxW(0, L"滴,不准用快播飙车!", L"MessageBoxW", 0);//无论是多字节还是Unicode,始终以Unicode运行MessageBox(0,TEXT("滴,不准用快播飙车!"),TEXT("TEXT"), 0);//自动适应多字节或者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[20] = "yincheng8848";printf("before:%s\n", str);//_strset(str, '8');//_strset标准C语言mystrset(str, '9');//_strset标准C语言//_strset(str, '\0');//清空字符串printf("after:%s\n", str);system("pause");
}

 

转载于:https://www.cnblogs.com/little-monkey/p/7536264.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/454623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux切换sid,linux – 将sid字段添加到ps -f输出

我正在阅读ps手册页,有一些我不明白的东西.-f does full-format listing. This option can be combined with many otherUNIX-style options to add additional columns. It also causes thecommand arguments to be printed. When used with -L, the NLWP (number ofthreads) …

使用Cross-Page Postback(跨页面提交)在页面间传递数据

页面间传递数据的几种方法 在页面间传递数据时&#xff0c;我们有以下几种选择&#xff1a; 1、Query String 一个很常见的方法&#xff0c;Query String是URL中问号之后的那一部分。其优点在于它是轻量级的&#xff0c;不会给服务器带来任何负担。而它也有几个缺点&#xff1a…

synchronized 和 lock 的区别

lock更灵活&#xff0c;可以自由定义多把锁的加锁解锁顺序&#xff08;synchronized要按照先加的后解顺序&#xff09; 提供多种加锁方案&#xff0c;lock 阻塞式, trylock 无阻塞式, lockInterruptily 可打断式&#xff0c; 还有trylock的带超时时间版本。 本质上和监视器锁&a…

win10怎么设置默认输入法_win10系统输入法失效打不了字怎么办

大家好&#xff0c;今天分享一篇来自小白系统官网(xiaobaixitong.com)的图文教程。最近有用户反映自己电脑上的win10系统出现输入法失效打不了字的问题&#xff0c;想知道有没有解决该问题的方法。小编经过一番查找后给大家整理出了针对该问题的解决方法&#xff0c;下面就让我…

Python 内置模块之 时间模块 time

time模块提供各种时间相关的功能,与时间相关的模块有&#xff1a;time,datetime,calendar 必要说明&#xff1a; 这个模块的功能不是适用于所有的平台 这个模块中定义的大部分函数是调用C平台上的同名函数实现 一些术语和约定的解释&#xff1a; 时间戳(timestamp)的方式,返…

linux找link原路径,readlink命令找出符号链接所指向的位置

1.释义找出符号链接所指向的位置2.系统帮助用法&#xff1a;readlink [选项]... 文件...输出符号链接值或权威文件名。-f, --canonicalize递归跟随给出文件名的所有符号链接以标准化&#xff0c;除最后一个外所有组件必须存在-e, --canonicalize-existing递归跟随给出文件名的所…

国产毫米波雷达领域的领头羊,木牛科技将在明年量产77GHz汽车雷达

国内的汽车毫米波雷达市场风潮起于2015年前后&#xff0c;彼时国内的毫米波雷达企业已经发展很多年&#xff0c;但大都在军工领域。 面对突然出现的汽车毫米波雷达市场热潮&#xff0c;国内很快涌现出了一大批雷达的初创企业&#xff0c;努力挤进这一亦新亦旧的市场。 说是新&a…

面试风云录(02) - 与顶级CTO交手的难忘经验...

大部分面试都是寻找团队伙伴或成员&#xff0c;很少是面试高层&#xff0c;因为职级比我们高的人&#xff0c;自然会有更高层的人面试他们&#xff0c;但这次分享的不是一般面试&#xff0c;而是我跟顶级CTO交手的经验&#xff0c;尽管为了顾虑当事人隐私&#xff0c;我已经隐去…

MySQL 之 performance_schema

背景&#xff1a; 自 MySQL5.5开始&#xff0c;MySQL新增了一个数据库&#xff1a;PERFORMANCE_SCHEMA&#xff0c;主要用于收集数据库服务器性能参数。此库中表的存储引擎均为PERFORMANCE_SCHEMA&#xff08;用户不能创建存储引擎为PERFORMANCE_SCHEMA的表&#xff09;。MySQ…

DNS解析原理与Bind部署DNS服务

DNS是什么&#xff1f; DNS&#xff08;Domain Name System&#xff0c;域名系统&#xff09;是互联网上最核心的带层级的分布式系统&#xff0c;它负责把域名转换为IP地址、反查IP到域名的反向解析以及宣告邮件路由等信息&#xff0c;使得基于域名提供服务称为可能&#xff0c…

qt 获取本机的wifi密码_还在记密码?这款开源免费的账号密码管理神器赶紧收了...

工作中涉及到得账号密码&#xff0c;你是怎么记录得&#xff1f;如果是文档word或者excel记录&#xff0c;那么回非常麻烦&#xff0c;每次还得打开。如果是浏览器自己记录&#xff0c;如果更新密码&#xff0c;又记不得。尴尬&#xff01;今天大卫给大家推荐一款开源免费得账号…

adaptec raid linux,adaptecraid卡管理软件在windows和linux下的安装使用介绍(7页)-原创力文档...

adaptec raid卡管理软件在 windows和linux下的安装使用文档l.adaptec raid卡的管理软件在 windows下安装后的运行界面如下图:adaplecadaplec点击connect后&#xff0c;便可进入管理软件的主界面&#xff0c;如下图:在这个主界面中可以选择要操作的 raid卡&#xff0c;例如本例中…

think queue 消息队列初体验

使用的是tp5 自带的消息队列 thinkphp top里的 消息队列框架 think-queue 这是thinkphp官方团队开发的一个专门支持队列服务的扩展包 消息队列应用场景&#xff1a; 消息队列适用于大并发或者返回结果 时间有点长并需要批量操作的第三方接口。 当前使用快递单号获取&#xf…

Linux快速计算MD5和Sha1命令

Linux计算MD5和Sha1的命令 MD5 MD5即Message-Digest Algorithm 5&#xff08;信息-摘要算法 5&#xff09;&#xff0c;用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一&#xff08;又译摘要算法、哈希算法&#xff09;&#xff0c;主流编程语言普遍已有MD5实现。 S…

win10无法运行C语言文件,主编告诉你win10打不开pdf文件的详尽处理办法

win10打不开pdf文件的问题大家有没有发现呢&#xff1f;今天有一个网友就来向小编询问处理办法。其实不知都还有多少用户遇到了win10打不开pdf文件的问题&#xff0c;我们可以尝试着自己来处理win10打不开pdf文件的问题&#xff0c;我们其实只需要这样操作&#xff1a;1、2、就…

MySQL 自带的四个数据库 介绍

背景 通过终端登录mysql数据库&#xff08;或直接用客户端工具&#xff09;查看全部数据库,如下&#xff1a; 5.7及以上自带库为&#xff1a;information_schema、mysql、performance_schema、sys&#xff1b; 5.6自带的库为&#xff1a;information_schema、mysql、performa…

简单绘图软件实现mfc大作业_纸笔书写|可直播可微课可写作业可批改的手写板,快来爱“我”吧...

线上教学进入下半场&#xff0c;我们需要什么&#xff1f;走过线上教育的探索期&#xff0c;相信不少老师已经对线上教学驾轻就熟了&#xff0c;但对于线上教学来说&#xff0c;合适的教学支持工具始终是必不可少的。不论是文科教师&#xff0c;还是理科教师&#xff0c;对于真…

一道多线程通信实例分析

程序如下&#xff1a; 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public static void main(String[] args) throws Exception{ final List list new ArrayList(); final Object lock new Object(); Thread t1 …

react native (一)

开始接触app方面的工作&#xff0c;真心塞~又开始了周而复始的死磕一个问题专坐一整天的节奏&#xff0c;关键是还没有成绩&#xff0c;实在无语。╮(╯▽╰)╭&#xff0c;还是总结一下最近心塞历程吧……react native中文网&#xff1a;http://reactnative.cn/docs/0.48/gett…

2台电脑一根网线传文件_「教程」如何快速的在两台电脑间传输大文件?

两台电脑如何传输文件我们常见的就是使用U盘或者网盘进行传输但是速度非常的慢我们需要一种文件可以直接复制到另一台设备的方法首先准备一根网线然后将两台电脑连接到同一局域网内在右下角的小电脑打开网络设置找到共享选项然后将公用文件夹共享开启在下面密码保护的共享中你可…