C++之 检验是否包含特殊字符

Ollama、llama.cpp、LM Studio本质区别与选型指南 大模型本地部署工具常被泛化为‘跑模型的软件’,但其底层定位截然不同:Ollama是面向开发者的模型运行时环境,提供开箱即用的API与抽象化封装;llama.cpp是轻量级推理引擎,专注CPU/GPU极致性能与量化控制;LM Studio则是基于llama.cpp的桌面GUI外壳,主打零配置可视化交互。三者在模型格式支持(如GGUF vs safetensors)、硬件调度粒度(全层GPU加载 vs 自定义ngl)、API兼容性(OpenAI标准程度)上存在根本差异。理解这些原理,才能避免‘装上就崩’的踩坑现 阅读详情
// 检验是否包含特殊字符
bool checkTextChineseOrNumberOrLetter(string str)
{
	int badNum = 0;

	int size = str.length();
	if (size <= 0)
		return false;

	char* pStr = new char[size];

	strcpy(pStr, str.c_str());
	for (int i = 0; i < size; i++)
	{
		if (!(pStr[i]>=0 && pStr[i]<=127))
			continue;
		if (ispunct(pStr[i]))
		{
			badNum ++;
		}
	}
        delete[] pStr;
	bool res = true;
	if (badNum > 0)
	{
		res = false;
	}
	return res;
}

int main()
{
	string szU8 = "asdfghgh中华人1234567890民共和国¥%@#%#¥……&%¥&¥$$$是我的祖国";

	if (checkTextChineseOrNumberOrLetter(szU8))
	{
		cout << "没有特殊字符" << endl;
	}
	else
	{
		cout << "包含特殊字符" << endl;
	}
	
	getchar();
	return 0;
}


其中判断是否为中文的代码:

if (!(pStr[i]>=0 && pStr[i]<=127))
	continue;

而ispunct(int )函数为cctype.h中的函数目的:测试字符是否为标点符号或特殊符号。

 

通过对这个函数简单修改,还可以完成对特殊字符的过滤工作。在此就不过多累赘了。

string_CString判断是否含有某些字符 立即下载

相关推荐

C++字符串中检测特定的字符串

C++ 语言中关于字符串编程。字符串中查找字符串。。。。

C++中常见的字符判断与处理方法

字符串处理是编程世界中一项基础技能,特别是对于C/C++的程序员们,远没有那么多华丽的工具可以使用,大多数时候都需要一个个字符来判断和处理,甚至对于C语言来说都没有字符串类型,字符数组是其常见的等价结构,所以稳扎稳打的基本功尤其重要...

AlbertS Home of Technology 1万+

检测文件中字符的合法性(C++)

能检测文件data.txt中的字符的合法性,通过界面返回。 只需输入文件名即可(输入时带后缀名)

c++正则表达式过滤特殊字符(非字母,数字,常见中文汉字)

正则表达式过滤特殊字符

SauryN的博客 2719

Abaqus边界条件设置避坑指南:为什么你的实体单元转动自由度总是不生效?

本文深入解析了Abaqus中实体单元转动自由度设置失效的根本原因。从力学原理与有限元节点自由度的本质区别出发,阐明了实体单元仅具有平动自由度,直接约束其转动自由度是无效操作。文章提供了对称边界条件的正确设置方法,并给出了使用耦合约束等高级方案来模拟真实抗转动约束的实战指南,帮助用户避免常见建模陷阱。

weixin_29290379的博客 621

RK3588-NANOPC-T6移植ubuntu+xenomai内核

更具网址下载相应的内核。导入到开发板并执行内核。

qq_42007446的博客 573

c++如何判断是否是可见字符_LeetCode基础算法题第101篇:判断末尾字符是否是1比特字符...

技术提高是一个循序渐进的过程,所以我讲的leetcode算法题从最简单的level开始写的,然后到中级难度,最后到hard难度全部完。目前我选择C语言,Python和Java作为实现语言,因为这三种语言还是比较典型的。由于篇幅和精力有限,其他语言的实现有兴趣的朋友请自己尝试。初级难度说的差不多的时候,我打算再加点其他内容,我可能会从操作系统到协议栈,从分布式聊到大数据框架,从大数据聊到人工智能,....

weixin_34740753的博客 875

ESP32-S3开发环境避坑指南:VS Code+ESP-IDF离线安装全流程(附国内镜像加速)

本文提供了一份详细的ESP32-S3开发环境离线安装指南,重点解决网络依赖问题。通过整合国内镜像加速,手把手教你完成VS Code、ESP-IDF框架、工具链及Python依赖的本地化部署,实现稳定、可重复的开发环境搭建,大幅提升IoT开发效率。

peach的博客 961

Redis为什么要把字符串设计成SDS?

在Redis中String类型的底层数据结构名为(simple dynamic string SDS)简单动态字符串,我们知道Redis是用C语言编写的,但是Redis并没有直接使用C语言中的字符串,而是自己新创建了一种,文本就来探究一下其中的缘由吧! ...

自律使我自由 1076

history 历史命令记录功能如何防坏人(高级)

在 Linux 下面可以使用 history 命令查看用户的所有历史操作,同时 shell 命令操作记录默认保存在用户目录的 .bash_history 文件中。通过这个文件可以查询 shell 命令的执行历史,有助于运维人员进行系统审计和问题排查,同时在服务器遭受黑客攻击后,也可以查询黑客登录服务器的历史命令操作。但是黑客在入侵后,为了抹除痕迹,会删除 .bash_history 文件,这个就需...

墨痕诉清风的博客 1657

突破边缘AI算力瓶颈:YOLOv12模型剪枝与知识蒸馏联合优化全攻略

这套剪枝-蒸馏联合方案的优势在于其系统性和可靠性。它不是单一的技巧,而是一套完整的工程流程,确保了从研发到部署的无缝衔接。

m0_71589036的博客 219

1212: 该死的密码 [字符串]

题目描述 终于要放寒假了,王炸和大家一样在模电课上拿起自己的手机准备抢票。刚打开12306,突然蹦出来一个提示:“您的密码可能有泄露的风险,请先修改密码!”王炸心中一惊:“Are you kidding??!!”赶紧找到改密码的页面,才发现原来改个密码还要验证个人信息,经过一系列娴熟的操作后,终于该输入新密码了,“买票要紧,随便先设置个!”王炸心里想着,中里一串123456789就输进去了。“对不

辞树 386

图像处理系列——直方图之直方图规定化(Histogram Specification)

直方图规定化也叫直方图匹配(Histogram Matching),让原图像的像素分布与规定图像的像素分布保持一致。直方图规定化比直方图均衡化更加灵活,算是直方图均衡的变种。常用于图片风格一致性的自动处理,能有效的改善图像的整体或局部的特征,广泛运用在图像增强处理中。

nanke_yh的博客 4594

如何判断字符串中是否存在特殊字符?

如何判断字符串中是否存在特殊字符? 头文件<boost/algorithm/string.hpp>包含单个算法any_of的四个变体。 该算法测试序列中的元素,若字符串中的任意元素具有特定的属性,则函数返回true。 本例程中的any_of采用序列和谓词。 如果谓词对应于序列中的任意元素,则返回true。 #include "stdafx.h" #include "iostream" #include "windows.h" #include <regex> #include<

weixin_45116749的博客 4409

检测头篇 | 手把手教你如何去更换YOLOv8的检测头为ASFF_Detect

自适应空间特征融合(ASFF)的主要原理旨在解决单次检测器中不同尺度特征的不一致性问题。具体来说,ASFF通过动态调整来自不同尺度特征金字塔层的特征贡献,确保每个检测对象的特征表示是一致且最优的。本文所做出的改进是将YOLOv8的检测头更换为ASFF_Detect。🌈

小哥谈 2497

anaconda navigator 卡在loading application界面一直没有反应解决办法

在打开anaconda navigator 程序的时候,遇到了2个问题。第一个问题:打开的时候弹出提示:There is an instance of Anaconda Navigator already running.第二个问题:程序一直卡在loading application界面一直没有反应。以下是我的解决办法,有效果。

猿小白的博客 4384

快速上手Cpp-Primer-5th-Exercises:新手必备的C++练习指南 [特殊字符]

想要系统学习C++编程语言,但面对《C++ Primer》这本经典教材的练习题感到无从下手?别担心!Cpp-Primer-5th-Exercises项目为你提供了完整的练习解答,帮助你快速掌握C++编程的核心概念和技巧。这份终极指南将带你深入了解这个宝贵的C++学习资源,让你在编程学习道路上事半功倍! ## 📚 项目简介:你的C++学习好帮手 Cpp-Primer-5th-Exercises

gitblog_01075的博客 1074

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

LeetCode 2299. 强密码检验器 II

LeetCode 2299. 强密码检验器 II 如果一个密码满足以下所有条件,我们称它是一个 强 密码: 它有至少 8 个字符。 至少包含 一个小写英文 字母。 至少包含 一个大写英文 字母。 至少包含 一个数字 。 至少包含 一个特殊字符 。特殊字符为:"!@#$%^&*()-+" 中的一个。 它 不 包含 2 个连续相同的字符(比方说 "aab" 不符合该条件,但是 "aba" 符合该条件)。 给你一个字符串 password ,如果它是一个 强 密码,返回 true,否则返回 false 。

<font color="Pink">Tisfy的博客</font> 1286

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

一维码Code 128简介及其解码实现 zxing-cpp

一维码Code 128简介及其解码实现 zxing-cpp

hddryjv的博客 2675

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Dev-Cpp 5.11安装配置与C++开发环境搭建实战指南

集成开发环境(IDE)是程序员编写、调试和运行代码的核心工具,其核心原理在于将编辑器、编译器、调试器等工具链集成在一个统一的界面中,从而提升开发效率。对于C++初学者而言,选择一个简单易用、开箱即得的IDE至关重要,它能帮助学习者将注意力集中在语法和编程逻辑本身,而非复杂的工具链配置上。Dev-Cpp 5.11正是这样一款经典的轻量级C++ IDE,它深度捆绑了TDM-GCC编译器,提供了稳定、零配置的开发环境,尤其适合C++11/14标准的学习。在工程实践中,掌握其安装流程、编译选项设置以及基本的调试技巧

weixin_30700977的博客 316

现代 C++ 学习路线图:modern-cpp-tutorial 从 C++11 到 C++26 全书导览

本篇技术指南以开源仓库 modern-cpp-tutorial(《现代 C++ 教程:高速上手 C++11 到 C++26》)的目录为骨架,为你梳理全书的知识体系与学习路线:语言核心、标准库、按标准版本三大板块的完整章节脉络,以及每个章节对应的配套源码与构建方式。读完本文,你将得到一张从传统 C++(C++98 及更早)平滑过渡到现代 C++ 的精确导航图,知道哪些特性值得优先掌握、它们被引入于哪

gitblog_01426的博客 530

2299. 强密码检验器 II

给你一个字符串 password ,如果它是一个 强 密码,返回 true,否则返回 false。解释:密码不包含数字,且包含 2 个连续相同的字符。所以我们返回 false。输入:password = “Me+You–IsMyDream”输入:password = “IloveLe3tcode!解释:密码不符合长度要求。所以我们返回 false。解释:密码满足所有的要求,所以我们返回 true。输入:password = “1aB!

weixin_43327597的博客 234

简单介绍一下c++正则表达式

另一种常用的形式就是依次传入 std::string/std::smatch/std::regex 三个参数,其中 std::smatch 的本质其实是 std::match_results。C++11 提供的正则表达式库操作 std::string 对象,模式 std::regex (本质是 std::basic_regex) 进行初始化,通过 std::regex_match 进行匹配,从而产生 std::smatch(本质是 std::match_results 对象)。例如,n匹配字符n。

qq_62309585的博客 3890

vscode配置Linux C++开发环境

vscode配置Linux C++开发环境 本教程的对象主要是针对会c语言的基本使用,并且想在windows平台下进行Linux C++开发的同学。全过程简单来说就是通过vscode远程连接linux进行开发,并通过cmake来管理项目。个人感觉这算是目前比较好的方案了,vscode免费,并且远程开发的体验不错,Linux下的包管理系统也大大弥补了c++的缺陷。 不过vscode的自动补全有点智障,跟visual studio的没法比,调试体验也差了点。另外visual studio也可以远程连接Lin

mikudouble的博客 7836

牛客题霸 [ 验证IP地址] C++题解/答案

牛客题霸 [ 验证IP地址] C++题解/答案 题目描述 编写一个函数来验证输入的字符串是否是有效的 IPv4 或 IPv6 地址 IPv4 地址由十进制数和点来表示,每个地址包含4个十进制数,其范围为 0 - 255, 用(".")分割。比如,172.16.254.1; 同时,IPv4 地址内的数不会以 0 开头。比如,地址 172.16.254.01 是不合法的。 IPv6 地址由8组16进制的数字来表示,每组表示 16 比特。这些组数字通过 (":")分割。比如, 2001:0db8:85a3:00

qq_35975367的博客 491
上一篇: C++ 之 中文转化成拼音
下一篇: source filter 添加 CSourceSeek 接口
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会唱歌的老樊

老少爷们,来个赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值