首页 > 其他分享 >杂项:输入流和memcpy

杂项:输入流和memcpy

时间:2024-04-20 15:46:19浏览次数:25  
标签:count src dest 杂项 char 字符串 pdest memcpy 输入

输入流

c++ 中常用cin接受输入,在C中可以定义main函数

int main(int argv,char* argc)

来接受参数数量和参数字符串
在c++中可以通过接受字符串流的方式,分段处理输入的字符串

//接受输入的字符串 read text 123
string line;
getline(cin, line);
//变为输入流
istringstream iss(line);
string s1;
string s2;
int val;
iss >> s1 >> s2 >> val;
//s1 read
//s2 text
//val 123

memcpy和memmove

两者类似,只不过memcpy一般不会用来处理重叠区域的字符串复制,但在实际面试中,一般都希望写出memmove既可以处理重叠字符串的复制

void* memmove( void* dest, const void* src, std::size_t count )
{
	char *psrc;
	char* pdest;
	if(dest == nullptr || src == nullptr)
	{
		return nullptr;
	}
	//考虑地址重叠,倒序复制
	if((src < dest) && ((char*)src+count) > (char*)dest)
	{
		psrc = (char*)src + count-1;
		pdest = (char*)dest + count-1;
		while(count--)
		{
			*psrc-- = *pdest--;
		}
	}
	else
	{
		psrc = (char*)src;
		pdest = (char*)dest;
		while(count--)
		{
			*psrc++= *pdest++;
		}
	}
	return dest;
}

标签:count,src,dest,杂项,char,字符串,pdest,memcpy,输入
From: https://www.cnblogs.com/XTG111/p/18147715

相关文章

  • vb.net from窗体接受键盘输入信息
    PublicClassForm1'当窗体初始化时,订阅键盘按下事件PrivateSubForm1_Load(senderAsObject,eAsEventArgs)HandlesMyBase.LoadAddHandlerMe.KeyDown,AddressOfForm1_KeyDownEndSub'键盘按下事件的处理程序PrivateSubForm1_K......
  • 解决 Win11 微软拼音输入法下 JetBrains IDE Shift+F6 失效的问题
    如果你使用Win11系统下的微软拼音输入法,同时又在使用JetBrains系列的IDE,你可能会发现"Refactor->Rename..."功能对应的默认快捷键Shift+F6按了之后没有反应,但通过菜单执行这个操作是正常的。这个问题目前基本可以确定是微软拼音输入法引起的。目前在JetBrains和Win......
  • Ubuntu22.04 安装搜狗拼音输入法
    在搜狗拼音输入法官网下载输入法Linux版本文件,是一个deb文件,我下载后放在家目录的下载目录下:sogoupinyin_4.2.1.145_amd64.deb更新源。在终端执行sudoaptupdate安装fcitx输入法框架执行命令sudoaptinstallfcitx设置fcitx为系统输入法:点击左下角的按钮,打开"语言支持",......
  • 基于键盘钩子实现扫码枪输入
    基于键盘钩子实现扫码枪输入dotNet工控上位机更多资料,请关注微信公众号:dotNet工控上位机​关注 3人赞同了该文章钩子钩子是操作系统消息处理的一种机制。通过钩子,应用程序可以安装一个钩子回调过程让系统调用,从而监视系统中的消息队列。在这些消息......
  • 微信小程序 input 不能输入特殊字符的方法
    微信小程序开发中经常遇到有表单提交的需求,一些特殊的字段要过滤掉特殊字符。比如姓名、籍贯、地址等,都要实现不能输入特殊字符的功能,可以创建一个统一的方法来处理输入事件,并在这个方法中检查输入的字符。下面是一个简单的示例:<viewclass='flexf30ali-center'><......
  • 企业微信hook 最新版 、企微输入验证码,二次扫码方案、发名片收消息功能,企业微信hook源
    ​产品说明在PC端企业微信客户端上发送自定义名片、封装企业微信功能为DLL,可与其他语言调用实现功能。DLL可以监听企业微信的所有消息接收和群消息,根据需求实现机器人、群发、自动消息推送、聊天机器人、监管数据收集等功能企业微信hook,企业微信功能api,自定义开发功能清......
  • Qt:通过QCompleter类提供的补全框completion box, 根据用户输入的内容提供可能的补全选
    1.创建一个字符串列表作为补全数据源QStringListwordlist;wordlist<<"apple"<<"banana"<<"orange";2.将QCompleter的数据源设置为之前创建的QStringList,与QLineEdit控件关联QCompleter*completer=newQCompleter(wordlist,this);......
  • 实验一讯飞输入法APP设计
    一、实验题目:原型设计二、实验目的:掌握产品原型设计方法和相应工具使用。三、实验要求:1.对比分析墨刀、Axure、Mockplus等原型设计工具的各自的适用领域及优缺点(1)墨刀适用领域:网页设计和移动应用界面设计快速原制作和协作设计用户体验设计和交互设计优点:界面直观,上手简......
  • Ubuntu 安装谷歌中文输入法
    Ubuntu安装谷歌中文输入法下载谷歌拼音:sudoapt-getinstallfcitx-googlepinyin点击设置:第一次打开需要点击安装:设置完成后重启系统点击右上角键盘,点击configure ......
  • Windows 上小狼毫输入法的上手教程,右下角出现禁用问题(win10解决)
    小玲以前在使用Windows系统时,一直都是用系统自带的输入法——微软拼音的,而且小玲没有那种安装第三方输入法的习惯。但是有一天,小玲在网上看到好多人推荐的Rime输入法,抱着试一下的想法,小玲试用了一下这款输入法。没想到这款输入法的可定制性真的高。小玲从此就离不开这款输入法......