C++和C对字符串操作总结
来源:互联网 发布:阿里云有哪些产品 编辑:程序博客网 时间:2024/04/28 04:25
一 c语言的字符串
c语言中没有字符串这个数据类型,用两种方法来表示字符串,第一种是字符数组char s[],第二种是字符指针char *s, 两者有区别,不能任务是一样的,区别如下(不完整,后期再慢慢补充)
1 初始化和赋值
char[]字符串赋值c语言中可以用“=”对字符串初始化,但是不能用“=”对其赋值,否则会出现类似于如下的错误:
error: incompatible types in assignment of ‘const char **’ to ‘char **’
如果要对c字符串赋值可以使用strcpy()函数。
char *定义的是字符串常量,不能对其修改除非使用new对其重新分配内存.但是可以对定义的指针修改,如下:
int len_c;// char[]char msg[11] = "hello c";//msg = "hello c string"; //错误strcpy(msg, "hello string"); //正确//char*char *s = "hwllo"; //编译器版本高的时候此处可能会有警告,加上const即可,因为这是定义了字符串常量s = "hello"; // 对指针重定义,允许s[1] = "e" //对字符串常量修改,不允许
2 求c字符串的长度/strlen和sizeof的区别
函数: size_t strlen ( const char * str )
头文件: string.h
c语言字符串结尾会自动添加一个‘\0’表示字符串结束,strlen是计算从字符串开始到‘\0’的长度,结果有可能不固定。
比如char s[10], strlen(s)的结果可能不是固定的,视编译器而定,如果char s[10] = {‘\0’},strlen(s)为0
sizeof()返回的是变量声明后所占的内存数,不是实际长度,此外sizeof不是函数,仅仅是一个取字节运算符
3 c字符串常用操作
puts() 输出
char c[] = “aa”;
puts(c);
gets() 输入
char gt[15];
gets(gt);
strcat()字符串连接函数
char a1[10] = “hello”;
char a2[10] = “c”;
strcat(a1, a2);
strcpy() 字符串复制
char a1[10];
char a2[10] = “hello c”;
strcpy(a1, a2);
a2为”hello c”
strcmp()字符串比较,按照ASCALL码的大小逐个比较两个字符数组中的各个字符,知道出现不相同的或者遇到结束符
strcmp(字符数组1,字符数组2);
相等返回0
字符数组1大于2返回正整数
字符数组1小于2返回负数
strlen()返回字符串实际长度
二 c++中string的操作
1 取子串substr(),包含头文件string、iostream
原型string substr (size_t pos = 0, size_t len = npos) const;
从源字符串中的下标为pos的地方获取长度为npos的长度,如果第二个参数为空,则代表从pos一直获取到字符串结束。
例:
std::string str="We must keep out mind in study";std::string str2 = str.substr (3,4); // "must"std::string str3 = str.substr (pos); // from "must" to the endstd::cout << str2 << ' ' << str3 << '\n';
注意它的返回值是string类型,如果要赋给char []类型需要转换。
2 拷贝
strcpy()
memcpy()
三、类型转换
1 整型数转为字符串:char *itoa(int value, char *str, int radix)
itoa为interger to array的简称,value为整型,str为转换后的字符串,radix为进制数。
2 字符串转为整型数:int atoi(const char *nptr)
nptr为要转化你的字符串,返回值是转换后的整型。
3 字符转为整数
char a = ‘9’;
int k = a - ‘0’;
4 整数转为字符
int i = 5;
char ch = i + ‘0’;
- C++和C对字符串操作总结
- C字符串操作总结
- c/c++字符串操作 总结
- C语言--字符串操作总结
- Objective-C 对字符串的操作
- C语言对字符串的操作
- c字符和字符串操作
- C中对于字符串的操作总结
- C语言字符串操作函数总结
- Objective-C NSString字符串操作总结
- C/C++字符串操作函数总结
- C语言字符串操作总结大全
- C/C++语言字符串操作总结
- C语言字符串操作总结大全
- C语言常用字符串操作函数总结
- C语言字符串相关操作总结
- C/C++语言字符串操作总结
- C语言字符串操作总结大全
- Mysql5.7安装及配置
- ASP.NET 全局变量和页面间传值方法
- spark1.4 基于rdd操作hbase
- CSS布局——简洁、兼容性强的垂直水平居中方案
- linux 批量查找匹配文件 (批量修改内容)
- C++和C对字符串操作总结
- Spring注解-@ModelAttribute
- php发送email
- EditText 监听内容改变,自动添加":"
- 欢迎使用CSDN-markdown编辑器
- lucene学习三:lucene检索得分
- *leetcode 138 in cpp
- 欢迎使用CSDN-markdown编辑器
- mysql忘记密码怎么办