puts(str)输出
- 输出一个字符串
- 以\0结束
- 只能输出一个字符串
- puts(a,b) ------×
- puts(a,b) ------×
gets(str)输入
- 输入一个字符串到字符数组中
- 只能以回车作为结束标志,空格不行
- 只能输入一个字符串 get(a,b)------错
strcat连接
- strcat(数组1,数组2)
- 将数组2连接到数组1当中,数组1中的\0删除
#include<stdio.h>
int main(void)
{
char a[100]="i love you";
char b[30]="china";
strcat(a,b);
puts(a);
}
strcpy拷贝,strncpy
- strcpy(a,b)
- 将字符串赋值给某个字符串不能使用:a=b,以下是错误的
- strncpy不会自动添加\0
#include<stdio.h>
#include<string.h>
void main()
{
char a[100]="i love you";
char b[30]="china";
strcpy(a,b);
puts(a);//china
}
#include<stdio.h>
#include<string.h>
void main()
{
char a[100];
char b[30]="china";
strncpy(a,b,2);
puts(a);//ch
}
strcmp 比较
按照ASCII码从左向右逐个比较两个数组中的字符,直到出现不同字符或\0’,并由函数返回值返回比较结果。
- 数组1=数组2,返回值=0
- 数组1<数组2,返回值<0
- 数组1>数组2, 返回值>0
#include<stdio.h>
#include<string.h>
void main()
{
int c;
char a[]="chikn";
char b[]="china";
c=strcmp(a,b);
if(c==0)
printf("a与b相同");
else if(c<0)
printf("a<b");
else
printf("a>b");
}
strlen 字符串实际长度(不包含\0)
#include<stdio.h>
#include<string.h>
void main()
{
int c;
char a[]="\\56d\25";
printf("%d",strlen(a));//5
}