IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> C的内部函数 -> 正文阅读

[C++知识库]C的内部函数

字符分类函数

  1. iscntrl 是不是控制字符

  2. isspace 是不是空白字符

  3. isdigit 是不是十进制数字字符

  4. isxdigit 是不是十六进制数字字符

  5. islower 是不是小写字母

  6. isupper 是不是大写字母

  7. isalpha 是不是字母

  8. isalnum 是不是字母或者数字

  9. ispunct 是不是标点符号

  10. isgraph 是不是图形字符

  11. isprint 是不是可打印字符

#include<string.h>
#include<ctype.h>
int main() {
	int ret = 0;
	char ch5 = 'w';
	int ch3 = 3;
	char ch33 = '3';
	//1. iscntrl		是不是控制字符

	//2. isspace        是不是空白字符

	//3. isdigit        是不是十进制数字字符
	printf("isdigit \n");
	ret = isdigit(ch33);
	printf("%d \n",ret);

	//4. isxdigit       是不是十六进制数字字符

	//5. islower        是不是小写字母
	// 返回值为int 类型 如果返回值时 0 证明参数是非小写字符
	//                  如果返回值是 非0 证明参数是小写字符 
	printf("islower \n");
	ret = islower(ch5);
	printf("%d \n", ret);

	//6. isupper        是不是大写字母

	//7. isalpha        是不是字母

	//8. isalnum        是不是字母或者数字

	//9. ispunct        是不是标点符号

	//10. isgraph       是不是图形字符

	//11. isprint       是不是可打印字符




	return 0;
}

字符转换函数

  • tolower 转小写

  • toupper 转大写

#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main() {
	char ch1 = tolower('F');
	char ch2 = toupper('e'); // 注意这里是单个字符不是字符串
	printf("%c %c",ch1,ch2);
	return 0;
}
#include<stdio.h>
#include<string.h>
#include<ctype.h>
int main() {
	char arr[] = "qsdDFGR";
	for (int i = 0; i < sizeof(arr); i++)
	{
		if (isupper(arr[i])) {
			arr[i] = tolower(arr[i]);
		}
	}
	printf("%s",arr);
	return 0;
}

内存操作函数

要了解 strcpy strncpy strcmp strncmp strcat strncat 的操作对象都是字符串 (不能对整形数组 浮点数数组 结构体数组等进行操作。原因是这些类型里没有利 \0 。另一个原因是他们的形参类型都是char*)

memcpy 内存拷贝

  • 参数和返回值的类型都是 void* 和一个size_t(unsignet int)

  • c语言规定memcpy处理不重叠的内存拷贝 是因为重叠部分的地址空间会被拷贝过来的数据覆盖 导致拷贝出错

struct s {
	char arr[10];
	int age;
};
#include<stdio.h>
#include<string.h>
int main() {

	int arr1[] = { 1,2,3,4,5 };
	int arr2[10] = { 0 };
	memcpy(arr2, arr1, sizeof(arr1));//这里参数3指的的是字节数 由于拷贝元和目标空间都是int型数组所以直接sizeof(像拷贝的长度)

	struct s arr3[] = { {"张三",10},{"李四",40}};
	struct s arr4[2] = { 0 };
	memcpy(arr4,arr3,sizeof(arr3));
	return 0;
}

memmove 内存移动

  • 可以处理重叠的内存拷贝 其余和memcpy相同 原理是从后往前拷贝避免了重叠区间的得覆盖再拷贝现象

memcmp 内存比较

  • 返回值是 int 类型 用法与strncmp相同

memset 内存设值

  • 要注意参数3是字节单位 (比如int 型数组它一个下标是4个字节)

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-12 12:59:34  更:2021-09-12 13:00:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/20 1:05:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码