C语言中常用字符串处理函数(总结大全)

使用 ArxivLoader 从 arXiv 加载学术文献并实现高效文档处理 arXiv是一个开放获取的学术存储平台,涵盖了物理、数学、计算机科学等多个领域的 200 万篇学术论文。这些文献中包含了如逻辑推理、机器学习等热门领域的最新研究进展。通过使用 ArxivLoader,我们可以轻松地搜索和加载 arXiv 上的学术文献,并将其转换为文本以供分析或应用于下游任务,例如问答系统、摘要生成或知识图谱构建。有时我们并不需要完整的文献内容,而是只需要摘要用于快速预览。可以使用 get_summaries_as_docs()# 获取文献摘要# 查看第一篇摘要。 阅读详情
AI摘要

本文详细介绍了C语言中常用的17种字符串处理函数,包括读取、输出、拷贝、连接、比较、搜索和分割等功能,以及每种函数的使用方法、参数说明和返回值解释,帮助读者掌握字符串操作技巧。

目录

字符串处理函数

1.char *gets(char *s);

2. char *fgets(char *s, intsize, FILE *stream);

3. int puts(const char *s);

4. int fputs(const char *str, FILE *stream);

5. size_t strlen(const char *s);

6. char *strcpy(char *dest, const char *src);

7. char *strncpy(char *dest, const char *src, size_tn);

8. char *strcat(char *dest, const char *src);

9. char *strncat(char *dest, const char *src, size_tn);

10. int strcmp(const char *s1, const char *s2);

11. int strncmp(const char *s1, const char *s2, size_tn);

12. int sprintf(char *str , const char *format, ...);

13. int sscanf(const char *str, const char *format, ...);

14. char *strchr(const char *s, intc);

15. char *strstr(const char *haystack, const char *needle);

16. char *strtok(char *str, const char *delim);

17. int atoi(const char *nptr);


1.char *gets(char *s);

#include<stdio.h>

功能: 从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止

参数:

  • s:字符串首地址

返回值: 成功:读入的字符串 失败:NULL

gets(str)与scanf(“%s”,str)的区别:

  • gets(str)允许输入的字符串含有空格
  • scanf(“%s”,str)不允许含有空格

注意:

由于scanf()和gets()无法知道字符串s大小,必须遇到换行符或读到文件结尾为止才接收输入,因此容易导致字符数组越界(缓冲区溢出)的情况。

 

2. char *fgets(char *s, intsize, FILE *stream);

#include<stdio.h>

功能: 从stream指定的文件内读入字符,保存到s所指定的内存空间,直到出现换行字符、读到文件结尾或是已读了size - 1个字符为止,最后会自动加上字符 '\0' 作为字符串结束

参数:

  • s:字符串
  • size:指定最大读取字符串的长度(size - 1)
  • stream:文件指针,如果读键盘输入的字符串,固定写为stdin

返回值:

  • 成功:成功读取的字符串
  • 读到文件尾或出错: NULL

描述:

fgets()在读取一个用户通过键盘输入的字符串的时候,同时把用户输入的回车也做为字符串的一部分。通过scanf和gets输入一个字符串的时候,不包含结尾的“\n”,但通过fgets结尾多了“\n”。fgets()函数是安全的,不存在缓冲区溢出的问题。

 

3. int puts(const char *s);

#include<stdio.h>

功能: 标准设备输出s字符串,在输出完成后自动输出一个'\n'。

参数: s:字符串首地址。

返回值:

  • 成功:非负数
  • 失败:-1

 

4. int fputs(const char *str, FILE *stream);

#include<stdio.h>

功能: 将str所指定的字符串写入到stream指定的文件中,字符串结束符'\0'不写入文件。

参数:

  • str:字符串
  • stream:文件指针,如果把字符串输出到屏幕,固定写为stdout。

返回值:

  • 成功:0
  • 失败:-1

注意:
fputs()是puts()的文件操作版本,但fputs() 不会自动输出一个'\n'。

 

5. size_t strlen(const char *s);

#include<string.h>

功能: 计算指定指定字符串s的长度,不包含字符串结束符‘\0’.

参数: s:字符串首地址

返回值: 字符串s的长度,size_t 为unsigned int类型

 

6. char *strcpy(char *dest, const char *src);

#include<string.h>

功能: 把src所指向的字符串复制到dest所指向的空间中,'\0'也会拷贝过去

参数:

  • dest:目的字符串首地址
  • src:源字符首地址

返回值:

  • 成功:返回dest字符串的首地址
  • 失败:NULL

注意: 如果参数dest所指的内存空间不够大,可能会造成缓冲溢出的错误情况。

 

7. char *strncpy(char *dest, const char *src, size_tn);

#include<string.h>

功能: 把src指向字符串的前n个字符复制到dest所指向的空间中,是否拷贝结束符看指定的长度是否包含'\0'。

参数:

  • dest:目的字符串首地址
  • src:源字符首地址
  • n:指定需要拷贝字符串个数

返回值:

  • 成功:返回dest字符串的首地址
  • 失败:NULL

 

8. char *strcat(char *dest, const char *src);

#include<string.h>

功能: 将src字符串连接到dest的尾部,‘\0’也会追加过去

参数:

  • dest:目的字符串首地址
  • src:源字符首地址

返回值:

  • 成功:成功:返回dest字符串的首地址
  • 失败:NULL

 

9. char *strncat(char *dest, const char *src, size_tn);

#include<string.h>

功能: 将src字符串前n个字符连接到dest的尾部,‘\0’也会追加过去

参数:

  • dest:目的字符串首地址
  • src:源字符首地址
  • n:指定需要追加字符串个数

返回值:

  • 成功:成功:返回dest字符串的首地址
  • 失败:NULL

 

10. int strcmp(const char *s1, const char *s2);

#include<string.h>

功能: 比较 s1 和 s2 的大小,比较的是字符ASCII码大小。

参数:

  • s1:字符串1首地址
  • s2:字符串2首地址

返回值:

  • 相等:0
  • 大于:>0
  • 小于:<0

 

11. int strncmp(const char *s1, const char *s2, size_tn);

#include<string.h>

功能: 比较 s1 和 s2 前n个字符的大小,比较的是字符ASCII码大小。

参数:

  • s1:字符串1首地址
  • s2:字符串2首地址
  • n:指定比较字符串的数量

返回值:

  • 相等:0
  • 大于:>0
  • 小于:<0

 

12. int sprintf(char *str , const char *format, ...);

#include<stdio.h>

功能: 根据参数format字符串来转换并格式化数据,然后将结果输出到str指定的空间中,直到出现字符串结束符 '\0' 为止。

参数:

  • str:字符串首地址
  • format:字符串格式,用法和printf()一样

返回值:

  • 成功:实际格式化的字符个数
  • 失败: - 1

 

13. int sscanf(const char *str, const char *format, ...);

#include<stdio.h>

功能: 从str指定的字符串读取数据,并根据参数format字符串来转换并格式化数据。

参数:

  • str:指定的字符串首地址
  • format:字符串格式,用法和scanf()一样

返回值:

  • 成功:参数数目,成功转换的值的个数
  • 失败: - 1

 

14. char *strchr(const char *s, intc);

#include<string.h>

功能: 在字符串s中查找字母c出现的位置。

参数:

  • s:字符串首地址
  • c:匹配字母(字符)

返回值:

  • 成功:返回第一次出现的c地址
  • 失败: NULL

 

15. char *strstr(const char *haystack, const char *needle);

#include<string.h>

功能: 在字符串haystack中查找字符串needle出现的位置。

参数:

  • haystack:源字符串首地址
  • needle:匹配字符串首地址

返回值:

  • 成功:返回第一次出现的needle地址
  • 失败: NULL

 

16. char *strtok(char *str, const char *delim);

#include<string.h>

功能: 来将字符串分割成一个个片段。当strtok()在参数s的字符串中发现参数delim中包含的分割字符时, 则会将该字符改为\0 字符,当连续出现多个时只替换第一个为\0。

参数:

  • str:指向欲分割的字符串
  • delim:为分割字符串中包含的所有字符

返回值:

  • 成功:分割后字符串首地址
  • 失败: NULL

17. int atoi(const char *nptr);

#include<stdlib.h>

功能: atoi()会扫描 nptr字符串, 跳过前面的 空格字符,直到遇到 数字或 正负号才开始做 转换,而遇到 非数字或 字符串结束符('\0')才 结束转换,并将结果返回 返回值。

参数:

  • nptr:待转换的字符串

返回值:

  • 成功:转换后整数

类似的函数有:

  • atof():把一个小数形式的字符串转化为一个浮点数。
  • atol():将一个字符串转化为long类型

 

WPF实战项目十七(客户端):数据等待加载弹框动画 1、在Common文件夹下新建文件夹Events,新建扩展类UpdateLoadingEvent。2、新建一个静态扩展类DialogExtensions来编写注册和推送等待消息弹框方法。3、在ViewModel中添加实现类NavigationViewModel。5、在View文件夹下新建用户控件ProgressView.xmal。4、在主窗体MainView.xmal中给弹窗界面命名。6、在MainView.xmal.cs中注册消息。 阅读详情

相关推荐

Visio 2013 Professional密钥安装激活全攻略:版本匹配与故障排查

产品密钥是软件授权体系中的核心凭证,用于验证用户对软件的使用权限。在微软Office产品线中,Visio 2013 Professional采用25位字符的密钥机制,通过联网或电话方式完成激活。正确使用密钥不仅能确保软件功能完整,还能避免因授权问题导致的工作中断。对于企业IT运维和个人用户而言,掌握密钥类型辨析、安装包匹配规则以及激活失败排查方法,是保障老版本软件稳定运行的关键。本文围绕Visio 2013 Professional,详细讲解密钥输入、激活流程及常见错误代码处理,帮助读者高效完成部署与维护。

weixin_28487433的博客 328

常用的8种字符串处理函数

常用的8种字符串处理函数

qq_45890458的博客 7130

傻瓜教程:使用GeoServer发布离线地图服务

一、离线地图下载 离线地图分为两种:一种叫“金字塔瓦片”数据,一种叫“矢量地图数据”。我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片;另外一种是手机上用来导航的,比如高德地图APP,也可以下载离线地图数据,这个就是矢量的。 卫星影像地图都是金字塔瓦片,无矢量数据。 因此,我们所说的离线地图下载通常都是指离线地图金字塔瓦片数据下载。 离线地图金字塔瓦片搭建的离线地图服务分很多种:一般有WEB方式,TMS、WMTS/WMS等等,不同的应用有不同...

米兰的小码农的博客 1万+

字符串处理函数

字符串处理函数 字符串处理是程序处理中最常用的功能之一,C语言标准库专门为其提供了一系列处理函数。在编写程序的过程中,合理、有效地使用这些字符串处理函数,可以提高编程效率,同时增强程序性能。其中较为常用的字符串处理函数包括puts函数、gets函数、strcat函数、strcpy函数、strcmp函数、strlen函数、strlwr函数、strupr函数等、 1.puts函数 字符串输出函数put...

JiaoXin327的博客 2672

保姆级教程:用Python仿真OFDM系统(附抗多径干扰优化方案)

本文提供了一份详细的Python仿真OFDM通信系统教程。通过NumPy和Matplotlib,从二进制比特流开始,逐步构建完整的OFDM系统模型,涵盖IFFT、循环前缀等核心概念。重点探讨了如何对抗多径干扰,并提供了优化方案,通过误码率曲线直观对比性能,适合通信工程学习和物理层开发实践。

weixin_29230649的博客 232

微信小程序:使用mqtt手机屏幕锁屏后导致中断问题,让mqtt在手机黑屏后依然能保持连接及持续后台运行接收或处理任务,详解微信小程序MQTT在应用退到后台或手机熄屏的情况下自动检测并重连【强制保活】

微信小程序切后台后MQTT连接无法维持,微信小程序MQTT一旦用户锁屏、切换到后台或手机熄屏,连接就会断开,导致无法继续监听和处理业务消息,微信小程序mqtt保活方案,微信小程序屏幕锁屏或息屏导致mqtt连接中断怎么办,如何解决MQTT不能黑屏持续连接的问题,微信小程序应用退到后台 MQTT连接断开问题解决,苹果ios手机,安卓手机,uniapp微信小程序mqtt断开怎么解决,后台应用怎么保活,uni-app中MQTT连接频繁断开如何解决?应用退到后台后MQTT连接断开以及常连接断连的问题,微信小程序、MQ

✅ 精选推荐文章 3026

C语言的字符串常用函数(18种)

1. gets() (现在已经不怎么用了) (1) 头文件 #include <stdio.h> (2) 函数原型 char *gets(char *s); (3) 功能 从标准输入设备读入字符,并保存到指定的内存空间, 直到出现换行符或读到文件结尾为止 (4) 参数 s: 字符串首地址 (5) 返回值 成功: 返回读入的字符串 失败: NULL (6) 和scanf("%s",s);区别 scanf(

m0_63690488的博客 1万+

Python蓝色跳动的爱心(完整代码)

Python语言实现蓝色跳动的爱心的完整代码。 代码分析 这段代码使用了 库来创建一个动态的爱心图案,并在屏幕上显示带有动态效果的“我爱你”字样。以下是对这段代码的详细分析: 用于创建图形用户界面(GUI)。 用于生成随机数,主要用于控制爱心图案的扩散效果。 中的 , , , 用于数学计算,生成爱心形状和扩散效果。 包含了 等常量,用于控制控件的对齐方式。 2. 全局变量定义 , : 定义画布的大小。 , : 爱心的中心坐标。 : 用于定义爱心形状的缩放

AIGC 1917

【C语言进阶】字符串处理函数的介绍

字符串处理函数的介绍

zz02_24的博客 2306

【保姆级教程】基于UNet++&MobileNetv2的语义分割模型从训练到RK3588部署:让边缘AI落地效率提升300%

通过SMP库一键构建encoder_name="mobilenet_v2", # 选择MobileNetv2作为骨干encoder_weights="imagenet", # 加载预训练权重加速收敛in_channels=3, # 输入图像通道数(RGB)classes=29, # Cityscapes数据集类别数activation=None # 输出无激活,便于后续损失计算本教程从“模型设计-训练-转换-边缘部署”全链路拆解了。

FJN110的博客 210

关于React Native Android找不到node的错误

最近,按照官方文档初始化了一个React Native项目,但是在Android端运行的时候,报了如下的一个错误。 org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:recordFilesBeforeBundleCommandDebug'. Caused by: org.gradle.process.internal.ExecException: A problem occurred starting p

xiangzhihong8的专栏 4246

C语言字符串常用函数总结(持续更新)

C语言字符串常见函数总结,函数包括:字符串输入、字符串输入、计算字符串长度、字符串赋值、字符串分割、字符串拼接、字符串与整型的转换等。后续持续更新。

qq_43427424的博客 1万+

基于物联网设计温室水培系统(NBIOT+华为云IOT)_338

本项目设计并实现了一套基于物联网的温室水培系统。系统以STM32F103RCT6单片机为核心控制器,结合SHT30温湿度传感器、SGP30二氧化碳传感器、BH1750光照传感器及液位检测传感器等硬件,实现对温室内环境参数的实时采集。系统支持自动和手动两种控制模式,能够根据传感器数据自动控制补光灯、通风风扇、遮光卷帘、降温水帘及营养液补充电机。通过NBIoT模块,系统可将采集的数据通过MQTT协议上传至华为云IOT平台,用户可通过Android手机APP或Windows上位机进行远程监控与控制。

413

c语言中常用的字符串处理函数

字符串标准函数的原型在头文件string.h中。 1.输入字符串──gets()函数 (1)调用方式:gets(字符数组) (2)函数功能:从标准输入设备(stdin)──键盘上,读取1个字符串(可以包含空格),并将其存储到字符数组中去。 (3)使用说明

lovelizhiming20的专栏 1218

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

C语言常用字符串处理函数(一)

C语言常用字符串处理函数(一) 我们经常会遇到要用C语言来直接处理字符串,了解这些函数,编写起代码来能够事半功倍,这也是字符串处理的基础。

Allen Junyu 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

【C语言】常用的字符串处理函数

介绍一下C语言常用的字符串处理函数。

Roger_717的博客 3113

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

【C语言】字符串处理函数

字符串拷贝函数strcpy,strncpy。字符串拼接函数strcat,strncat。字符串比较函数strcmp,strncmp。字符串格式化输入,输出函数sprintf,sscanf。字符串查找函数strchr 查找字符,strstr 查找子串。字符串分割函数strtok。字符串转化atoi,atof,atol。需要头文件 #include

2301_80035097的博客 1420

C语言常用字符串处理函数

C语言中包含了很多对字符串处理的函数,要使用这些函数,首先需要导入头文件例: char *str = "abcde";// 结果为5strlen()计算的结果是字符串所占有的字节数。

weixin_68026222的博客 972

C语言:字符串处理函数详解

在编程中,字符串和内存处理是核心操作。字符串函数如strcpy()、strcat()等专门处理文本数据,而内存函数如memcpy()、memset()则直接操作内存块,提供更底层的控制。本文将深入探讨这些关键函数的使用方法、注意事项以及常见应用场景,帮助开发者避免常见错误,提升代码效率和安全性。

Aband_fate的博客 1814

C语言 -- 常见字符串处理函数总结

C语言常用字符串函数 文章目录C语言常用字符串函数一、基础知识1. 常量指针与指针常量2. 字符串的存储区3. 字符串长度二、字符串处理函数1. 字符串长度计算2. 字符串复制3. 字符串拼接4. 字符串比较函数5. 格式化字符6. 字符串查找7. 字符串分割三、总结 一、基础知识 为了更好的理解后面提到的一些字符串处理函数,我们先补充一些基础知识。假如你已经掌握,可以直接跳过。 1. 常量指针与指针常量 先来看一个例子: int a = 100; const int * p = &a; //常量

wit_732的博客 1844

C语言之字符串处理函数

函数功能:在字符串中查找给定字符的最后一次匹配,也就是在字符串str中查找字符c最后一次出现的位置返回值:最后一次匹配位置的指针if (ptr)elseif (ptr)elsegetch();return 0;运行结果是:注意:本例程中,如果字符串中只有一个’o’字符,那么无论调用哪种字符串中字符匹配函数都会返回相同的结果。

上善若泪 1771

C语言中常用的字符串处理函数总结

C语言中字符串处理函数备注 此文仅用于自己研究和记录 字符串处理函数 1. char *gets(char *s); #include<stdio.h> 功能: 从标准输入读入字符,并保存到s指定的内存空间,直到出现换行符或读到文件结尾为止 参数: s:字符串首地址 返回值: 成功:读入的字符串 失败:NULL gets(str)与scanf(“%s”,str)的...

weixin_30338461的博客 901

C语言字符串处理函数总结

strcpy,strncpy,strcmp.strncmp,strcat,strncat,strstr,strchr,strlen的应用和对比,

qq_53424000的博客 913

C语言字符串处理函数

在C语言中,字符串处理函数提供了一组用于操作和处理字符串的标准库函数。这些函数定义在<string.h>头文件中,涵盖了字符串复制、连接、比较、查找等操作。以下是一些常用的C语言字符串处理函数及其用法:

科技改变人类,技术成就未来 1073

c++ 指针拼接字符串_C语言常用字符串处理函数(一)

C语言常用字符串处理函数(一)偏底层的工程项目中,我们经常会遇到要用C语言来直接处理字符串,了解这些函数,编写起代码来能够事半功倍,这也是字符串处理的基础。C语言直接操作内存,所以需要完全理解这些函数在做什么,并且时刻注意安全检查,才能尽量避免一些奇怪的错误(这也是使用C语言的缺点)。一般地,使用这些函数,需要包含头文件:#include 1. strcpy原型:char *strcpy (cha...

weixin_33245246的博客 1834

C语言字符串函数大全

C语言字符串函数大全 函数名: stpcpy 功能: 拷贝一个字符串到另一个 用法: char *stpcpy(char *destin, char *source); 程序例: #include <stdio.h> #include <string.h> int main(void) { ...

weixin_33670713的博客 1348
上一篇: wireshark抓取常用报文协议过滤法则大全
下一篇: 解决source insight 4.0中文乱码的问题
JIANXIN.Y
博客等级 码龄9年 273粉丝 42原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值