字符数组的相关知识
关于gets函数的用法:
函数原型:函数只有一个参数,参数类型为char*类型,str可以是指针类型变量名,也可以是字符数组的名字;
# include <stdio.h>
char* gets(char* str);
gets() 函数的功能是从输入缓冲区中读取一个字符串存储到字符指针变量 str 所指向的内存空间。
gets函数与scanf的一些区别-------会不会清空缓冲区?
使用gets函数时,最后通常是以敲入回车键来结束这个gets函数,那么如果gets后面要再输入一个字符,则可以直接输入,回车键已经被gets函数清空(清空缓冲区),但是如果是先用scanf再用gets那么中间就要加一个getchar()函数来储存那个敲入的回车键
# include <stdio.h>
int main()
{
int n;
char x,a[10];
scanf("%d",&n);
x=getchar(); /*用getchar清空缓冲区*/
gets(a);
return 0;
}
字符串处理函数 头文件 # include <string.h>
- 字符串复制函数
原型 strcpy(char* s1,char* s2)
调用格式 strcpy(字符数组1,字符串2)
例如 char a[10],b[10]="asdfghjk";
strcpy(a,b);
功能:把b中的内容赋给a;
2.有限制的字符串复制函数
原型 char* strncpy(char* s1,const char* s2,unsigned int n);
调用格式 strncpy(字符数组1,字符串2,n)
功能 将字符串2的前n个字符复制到字符数组1中,1中后面的字符不变,如遇到\0则提前结束
3.字符串连接函数
原型 char* strcat(char* s1,char* s2);
格式 strcat(字符数组1,字符串2)
功能 把字符串2连接到字符串1的后面,连接后的字符串仍存放在字符数组1中
说明 1.字符数组1要足够大以便容纳连接后的字符串
2.会有两个\0但是连接后第一个\0会自己消失
4.有限制的字符串连接函数
原型 char* strncat(char* s1,const char* s2,unsigned int n)
格式 strncat(字符数组1,字符串2,n)
功能 把字符串2中的前n个字符连接到字符数组1的后面
5.字符数组比较函数
原型 int strcmp(const char* s1,const char* s2);
格式 strcmp(字符串1,字符串2)
功能 比较字符串1和字符串2(从左到右逐个字符的比较ASCII值的大小,直到出现的字符不一样或遇到\0为止)
比较结果有函数返回1.若字符数组1等于字符数组2 则返回值为0
2.若1>2 则返回一个正整数
3.若1<2 则返回一个负整数 在vc++6.0中 正负整数为1,-1
6.测试字符串长度的函数
原型 unsigned int strlen (const char* s)
格式 strlen (字符串)
7.strstr函数
strstr(a,'x') 如果x字母存在于a中,则返回x的指针,不存在的话就返回空指针

浙公网安备 33010602011771号