c语言字符串总是以 /0 结束,所以总长度总是比其本身多 1


char str[];
gets(str);  //输入一个字符串
puts(str);  //输出一个字符串


printf("cxc\0cxc");  //只能输出一个cxc


c语言没有字符串变量,没有string、String等


一般这样声明字符串


char str[10];
char str1[] = "cxc is nice";


size_t a = strlen(str1);   // a = 11
size_t b = sizeof(str1);   // b = 12  




字符串库函数
#include<string.h>


strcpy(string1,string2)   //string1 为char[]类型,将string2 复制到string1中
strncpy(string1,string2,n)  //复制前n个字符
strlen(string)   //返回size_t类型(unsigned int)的整数,结果为去掉\0的字符串长度
注:size_t 在 标准库 stddef.h 中定义


strcat(str1,str2)  //连接字符串,把str2加到str1中
strncat(str1,str2,n)  //类似


strcmp(str,str1) //比较,返回一个值,<0,=0,>0;


strstr(str,word) //查找子字符串


char str[]="cxc a is qwe";
char* p = strstr(str,"is");
printf("%d\n",p-str+1); //返回7


转换大小写函数、测试字符函数等等 略


wchar_t str[] = L"cxc is nice.";  //宽字符串
#include<wchar.h>  //有宽字符串处理函数wcslen、wcscpy等等,测试函数等等