字符串和文本的应用

Ma-YuHao / 2023-05-19 / 原文

c语言没有字符串数据类型,而是用char类型的数组。

存储字符串的变量:

char str[20]; 声明时所设置的数组大小要比字符串的字符个数大一,编译器会在结尾增加“\0“。

char str[] = "adsafshdgfasdfah";

声明常量char类型数组:const char str[] = "fatsyfafs";

确定字符串的字符个数(长度)

char str[] = "agshgahsg";

int count = 0;

while(str[count]){ count++} --- 字符串的“\0”的ASCII是0 对应false.

字符串数组:

char str [2][20] = {

"asfdgafghgah",

"agshgdah"

}

在字符串数组中必须指定第二维的大小(每个字符串的最大容纳字符数);

c 提供标准库:

检查编译器是否支持

 使用设置

 函数确定字符串长度:

strnlen_s() : 两个参数 参1字符串的地址 参2 char类型数组大小;

char  str [][20] = {

"asdhga",

"bxhcbsj"

}

str[0] 长度 : size_t  length =  strlen( str[0] , sizeof(str[0]) );

复制字符串:

strcpy_s(): 三(四)个参数 参1 复制的字符串地址 参2 复制的字符串的大小 参3 被复制的字符串地址 参4 复制的字符个数;

char str[] = "agshghn";

char copystr[50];

strcopy_s(copystr , sizeof( copystr ) , str); 

 

 连接字符串:

strcat_s() : 三(四)个参数 参1 要添加字符的字符串地址 参2 参数1字符串的最大容量 参3 添加的字符串地址 参4 连接的最大字符个数

 char str1[50] = "ahsudha";

char str2[] = "ajsjah";

errno_t res = strcat_s( str1 ,  sizeof(str1 ) , str2) ;