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

您所在的位置:网站首页 字符串的结束标准 C语言中常用字符串处理函数(总结大全)

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

2024-07-13 09:33| 来源: 网络整理| 查看: 265

目录 字符串处理函数

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

功能: 从标准输入读入字符,并保存到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

功能: 从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

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

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

返回值:

成功:非负数失败:-1

 

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

#include

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

参数:

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

返回值:

成功:0失败:-1

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

 

5. size_t strlen(const char *s);

#include

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

参数: s:字符串首地址

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

 

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

#include

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

参数:

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

返回值:

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

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

 

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

#include

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

参数:

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

返回值:

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

 

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

#include

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

参数:

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

返回值:

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

 

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

#include

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

参数:

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

返回值:

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

 

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

#include

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

参数:

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

返回值:

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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3