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类型


基础Day07(字符串处理函数)
最新推荐文章于 2025-10-09 11:37:05 发布
本文详细介绍了C语言中常见的字符串处理函数,包括gets()、puts()、fgets()、fputs()、printf()、scanf()、strlen()、strcpy()、strncpy()、strcat()、strncat()、strcmp()、strchr()、strstr()、strtok()以及atoi()等,涵盖了字符串的读取、输出、复制、比较、连接和转换等多个方面。

408

被折叠的 条评论
为什么被折叠?



