基础Day07(字符串处理函数)

本文详细介绍了C语言中常见的字符串处理函数,包括gets()、puts()、fgets()、fputs()、printf()、scanf()、strlen()、strcpy()、strncpy()、strcat()、strncat()、strcmp()、strchr()、strstr()、strtok()以及atoi()等,涵盖了字符串的读取、输出、复制、比较、连接和转换等多个方面。

1、gets()和puts()
gets():从标准设备上获取一个字符串,这个字符串可以带空格,直到接收到换行字符或者字符串结束标志才停止(不安全)
puts():从标准设备上输出一个字符,这个字符串自带‘\n ’换行
在这里插入图片描述
2、fgets()和fputs()
fgets()格式:fgets(字符指针 大小 输入流[stdin])(安全,会接收固定大小的字符串)
注意:(1)如果接收少于大小 会将\n\0加入到字符串中
(2)如果接收大于等于大小 不会将\n加入到字符串中,会将\0加入到字符串中
在这里插入图片描述
3、printf()和scanf()
scanf(“%s”,str)不允许含有空格
在这里插入图片描述
4、strlen()、strcpy()和strncpy()
strlen():括号中不能是数组,计算指定指定字符串s的长度,不包含字符串结束符‘\0’
#include <string.h>
size_t strlen(const char *s);
参数:
s:字符串首地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
strcopy()把src所指向的字符串复制到dest所指向的空间中,’\0’也会拷贝过去
#include <string.h>
char *strcpy(char *dest, const char *src);
参数:
dest:目的字符串首地址
src:源字符首地址
在这里插入图片描述
在这里插入图片描述
strncpy()把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符看指定的长度是否包含’\0’。
#include <string.h>
char *strncpy(char *dest, const char *src, size_t n);
参数:
dest:目的字符串首地址
src:源字符首地址
n:指定需要拷贝字符串个数
在这里插入图片描述
在这里插入图片描述
5、strcat()、strncat()、strcmp()
strcat()//注意数组下标越界
将src字符串连接到dest的尾部,‘\0’也会追加过去
#include <string.h>
char *strcat(char *dest, const char *src);
参数:
dest:目的字符串首地址
src:源字符首地址
在这里插入图片描述
在这里插入图片描述
strncat()//注意数组下标越界
将src字符串前n个字符连接到dest的尾部,‘\0’也会追加过去
#include <string.h>
char *strncat(char *dest, const char *src, size_t n);
参数:
dest:目的字符串首地址
src:源字符首地址
n:指定需要追加字符串个数
在这里插入图片描述
在这里插入图片描述
strcmp()//比较字符串大小
比较 s1 和 s2 的大小,比较的是字符ASCII码大小。
#include <string.h>
int strcmp(const char *s1, const char *s2);
参数:
s1:字符串1首地址
s2:字符串2首地址
在这里插入图片描述
在这里插入图片描述
strncmp()比较 s1 和 s2 前n个字符的大小,比较的是字符ASCII码大小。
#include <string.h>
int strncmp(const char *s1, const char *s2, size_t n);
参数:
s1:字符串1首地址
s2:字符串2首地址
n:指定比较字符串的数量
6、sprintf()、sscanf()
sprintf()//将数据格式化后放入在字符串中
根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符 ‘\0’ 为止。
#include <stdio.h>
int sprintf(char *_CRT_SECURE_NO_WARNINGS, const char *format, …);
参数:
str:字符串首地址
format:字符串格式,用法和printf()一样在这里插入图片描述
在这里插入图片描述
sscanf()从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据。
#include <stdio.h>
int sscanf(const char *str, const char *format, …);
参数:
str:指定的字符串首地址
format:字符串格式,用法和scanf()一样
在这里插入图片描述
在这里插入图片描述
7、strchr()、strstr()
strchr()//在字符串s中查找字母c出现的位置,返回第一次出现的c地址
#include <string.h>
char *strchr(const char *s, int c);
参数:
s:字符串首地址
c:匹配字母(字符)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
strstr()在字符串haystack中查找字符串needle出现的位置
#include <string.h>
char *strstr(const char *haystack, const char *needle);
参数:
haystack:源字符串首地址
needle:匹配字符串首地址
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、strtok()
strtok()//字符串分割
将字符串分割成一个个片段。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时, 则会将该字符改为\0 字符,当连续出现多个时只替换第一个为\0。
#include <string.h>
char *strtok(char *str, const char *delim);
参数:
str:指向欲分割的字符串
delim:为分割字符串中包含的所有字符
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8、atoi()
atoi():把一个字符串转化为整形,跳过空格,以正负号开始读取
#include <stdlib.h>
int atoi(const char *nptr);
参数:
nptr:待转换的字符串
atof():把一个小数形式的字符串转化为一个浮点数float/double。
atol():把一个字符串转化为long类型
在这里插入图片描述
在这里插入图片描述

内容概要:本文档详细介绍了基于C++的大学志愿填报系统的设计与实现,涵盖了项目背景、目标、挑战、特点、应用领域及未来改进方向。系统旨在通过高效的数据处理和智能推荐算法,帮助考生科学合理地进行志愿填报,提升填报效率和录取成功率。系统采用分层架构,包括数据采集与预处理、考生成绩分析、院校与专业信息管理、智能推荐算法、风险评估及用户交互模块。推荐算法基于多条件加权评分模型,结合考生成绩、兴趣爱好和录取概率,生成个性化的志愿填报方案。系统还具备实时数据更新机制、模拟录取概率分析、用户体验优化设计、灵活的配置管理、强大的数据安全保障体系和良好的跨平台兼容性。适合人群:适用于高校招生管理人员、参与高考志愿填报的考生及其家长、从事教育信息化建设的研究人员和技术开发者。使用场景及目标:①高校招生管理部门进行数据统计与分析,优化招生计划;②考生和家长获取专业志愿填报指导和模拟分析服务;③教育主管部门进行政策研究和趋势分析,推动教育公平;④教育咨询机构提供数据支持和服务平台,提升志愿填报服务的专业性和效率。其他说明:系统未来将引入深度学习推荐模型、多源数据融合、移动端适配、自然语言处理辅助咨询、大数据分析与可视化深化、智能风险预警系统、系统性能优化、用户行为分析及多语言支持等功能,进一步提升智能化和服务能力。整体项目推动了高校招生信息化进程,促进教育资源合理配置,帮助考生科学规划未来学业路径,具有广泛应用前景和社会价值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值