C语言基础——字符串及常用函数
来源:互联网 发布:黄梅话的软件 编辑:程序博客网 时间:2024/05/19 04:06
字符串基本概念
char name[] ="beauty\n";//输出字符串格式符 %s以字符串的格式输出
// printf("%s",name);
//%s只有遇到\0才会停止,它只能用于输出字符串,不能用于输出字符数组
//\0标志着字符串结束
//字符数组中没有显式初始化的元素会被自动初始化为0,'\0'的ASCII码就是 0 ,所以%s就会结束
//%s 会自动忽略前面输入的回车 空格 Tab
//%s 前面输入过其他字符,那么%s遇到空格就结束了
//%s 会有一个数据越界风险
//为了防止%s越界可以指定字符宽度
scanf("%3s",name);
printf("%s",name);
/**
* 计算字符串长度
*
* @param str 字符串
* @return 字符串长度
*/
int myStrLen2(char str[]){
int i = 0;
while (str[i]!='\0') {
i++;
}
return i;
}
字符串常用函数
void test(){字符串拷贝
strcpy 不管目标字符串中是否有东西,都会覆盖掉如果目标空间不够大,strcpy就好导致程序的崩溃(闪退)
char dest[4] = "xyz";
char src[] = "fbb xn";
printf("前:%s\n",dest);
strcpy(dest, src);
printf("后:%s\n",dest);
}
void test1(){
/*
字符串拷贝,len要拷贝src多少长度的字符串
strncpy(dest, src, len)
可以防止拷贝字符串的时候,目标字符数组越界
*/
char dest[5];
char src[] = "today";
int len = sizeof(dest) - 1;
strncpy(dest, src, len);
printf("dest = %s\n",dest);
}
字符串比较
strcmp(dest, src);1、如果两个字符相同就返回 0
2、返回dest 与 src 中第一个不相同字符的ASCII码差值
int main(int argc, const char * argv[]){
char src[] = "a";
char dest[] = "";
int result = strcmp(dest, src);
printf("%d\n",result);
return 0;
}
字符串拼接
len表示把src中多个字符拼接到desc后面
strncat(dest, src, len)void test2(){
char dest[10] = "xln";
char src[] = " beauty";
size_t size = sizeof(dest) - strlen(dest) - 1;
printf("%lu\n",size);
strncat(dest, src, size);
printf("%s\n",dest);
/*
字符拼接函数:把src中的字符串拼接到dest后面
strcat(dest,src)
导致目标字符数组越界,从而引起程序崩溃
*/
char dest[5] = "xln";
char src[] = " beauty";
strcat(dest, src);
printf("%s\n",dest);
}
0 0
- C语言基础——字符串及常用函数
- C语言基础--常用字符串处理函数
- C语言常用字符串及转换函数
- c#——字符串及字符串常用函数
- c#——字符串及字符串常用函数
- C语言基础——数组(及一些常用的函数介绍)
- C语言字符串操作函数及常用的实现
- iOS基础知识:C语言字符串及常用方法和函数
- C语言——字符和字符串常用处理函数
- 黑马程序员——C语言常用字符串函数
- C语言 字符串常用函数
- C语言常用字符串函数
- c语言 常用字符串函数
- c语言字符串常用函数
- C语言常用字符串函数
- C语言字符串常用函数
- C语言基础—字符串输入输出函数puts和gets
- C语言基础—字符串
- mkdir命令
- clock/hwclock
- android之AsyncTask
- 【Clojure】我的第一段clojure...泪目~~~
- Java NIO系列教程(九) ServerSocketChannel
- C语言基础——字符串及常用函数
- C++中cin、cin.get()、cin.getline()、getline()、gets()等函数的用法
- Hadoop安全模式详解及配置
- Sed
- 1.lucene初认识:入门例子
- WebLogic启动脚本
- Unity3D发布安卓时遇到的问题解决办法
- Java NIO系列教程(十) Java NIO DatagramChannel
- oracle的异常处理