C语言字符串常用操作函数-puts、gets、strcmp、strcpy、strcat、strlen
2015-11-01 22:13
941 查看
C语言字符串常用操作函数
1. 字符串输出 - puts
2. 字符串输入 - gets
3. 字符串比较 - strcmp
4. 字符串复制 - strcpy
5. 字符串连接 - strcat
6. 字符串求长 - strlen
一、puts 与 printf 的差别
1.puts不需要格式化控制符,printf需要
2.puts只能输出字符串,printf其他类型都可以输出
3.puts自带换行,printf没有自带换行
实现puts的功能,代码如下:
二、gets 与 scanf 的差别
1.gets只能输入字符串,scanf什么格式都能输入
2.gets不用加%s, scanf要加%s
实现gets的功能,代码如下:
注意:以上两个函数都是在头文件 #include <stdio.h>
以下库函数都需要另导入头文件才能访问 #include <string.h>
三、实现strcmp的功能
语法:strcmp(字符串1,字符串2);
比较两个字符串谁大谁小。比较字符串1是否比字符串2大,如果比字符串2大,返回正数,如果比字符串2小,返回负数,如果一样则返回0。
最主要的用法,是用来判断两个字符是否相等。
实例:
四、实现strcpy的功能
语法:strcpy(字符数组,字符串2);
把字符串2的内容,复制到字符数组,如果字符数组里面原来就有内容,就会覆盖
注意:左边的那个只能传字符数组,不能传字符指针
实例:
五、实现strcat的功能
语法:strcat(字符数组,字符串2);
把字符串2的内容接道字符数组原实际的内容的后面
实例:
六、实现strlen的功能
语法:strlen(字符串);
计算实际字符长度的,'\0'不参与计算,注意:一个中文占3个字节,那么用它计算中文的话,会用中文的实际个数*3
原理是:计算实际字符串占用的字节数
实例:
1. 字符串输出 - puts
2. 字符串输入 - gets
3. 字符串比较 - strcmp
4. 字符串复制 - strcpy
5. 字符串连接 - strcat
6. 字符串求长 - strlen
一、puts 与 printf 的差别
1.puts不需要格式化控制符,printf需要
2.puts只能输出字符串,printf其他类型都可以输出
3.puts自带换行,printf没有自带换行
实现puts的功能,代码如下:
#include <string.h> int main(int argc, const char * argv[]) { char str[] = "abc"; puts(str); return 0; }
二、gets 与 scanf 的差别
1.gets只能输入字符串,scanf什么格式都能输入
2.gets不用加%s, scanf要加%s
实现gets的功能,代码如下:
#include <string.h> int main(int argc, const char * argv[]) { char str[50]; gets(str); //接收用户输入的字符数组 puts(str); //输出用户输入的字符数组 return 0; }
注意:以上两个函数都是在头文件 #include <stdio.h>
以下库函数都需要另导入头文件才能访问 #include <string.h>
三、实现strcmp的功能
语法:strcmp(字符串1,字符串2);
比较两个字符串谁大谁小。比较字符串1是否比字符串2大,如果比字符串2大,返回正数,如果比字符串2小,返回负数,如果一样则返回0。
最主要的用法,是用来判断两个字符是否相等。
实例:
#include <string.h> int main(int argc, const char * argv[]) { char str1[] = "abc"; char str2[] = "acc"; printf("%d\n",strcmp(str1, str2) ); //返回值为 -1; return 0; }
四、实现strcpy的功能
语法:strcpy(字符数组,字符串2);
把字符串2的内容,复制到字符数组,如果字符数组里面原来就有内容,就会覆盖
注意:左边的那个只能传字符数组,不能传字符指针
实例:
#include <string.h> int main(int argc, const char * argv[]) { char str[50] = "abc"; strcpy(str, "xyz"); puts(str); //输出的是 xyz return 0; }
五、实现strcat的功能
语法:strcat(字符数组,字符串2);
把字符串2的内容接道字符数组原实际的内容的后面
实例:
#include <string.h> int main(int argc, const char * argv[]) { char str[50] = "abc"; strcat(str, "xyz"); puts(str); //输出的是 abcxyz return 0; }
六、实现strlen的功能
语法:strlen(字符串);
计算实际字符长度的,'\0'不参与计算,注意:一个中文占3个字节,那么用它计算中文的话,会用中文的实际个数*3
原理是:计算实际字符串占用的字节数
实例:
#include <string.h> int main(int argc, const char * argv[]) { char str[50] = "哈哈"; unsigned long len = strlen(str); printf("%lu\n",len); //输出的是 6 return 0; }
相关文章推荐
- c++中怎么把string转化为数组
- 【C语言【面试题】【笔试题】题目:在字符串中找出第一个只出现一次的字符。
- C++基础——C++风格的类型转换(static_cast、const_cast、dynamic_cast、reinterpret_cast)
- 以前整理的C++资料(二)
- 以前整理的C++资料(一)
- C语言库函数的实现
- C#、 C++直接插入排序控制台
- C语言中分支结构及循环结构的简单介绍
- C语言中求字符串长度
- BP算法C++实现
- C++写矩阵求逆
- 字符串处理2-基本字符串压缩
- 12个有趣的C语言面试题
- 《C++ primer》英文第五版阅读笔记(六)——类型处理
- C++---Apriori算法实现,频繁模式数据挖掘,最大频繁项集,闭频繁项集
- c++常见面试题
- 黑马程序员——C语言指针
- c++ primer第五版(中文)习题答案 第二章第四节-const限定符
- Unix编程(二)C语言利用PV原句解决5个经典的进程同步问题
- C++primer 17.2 bitset类型