字符串及相关函数

#include <stdio.h>
#include <string.h>


// 字符串追加
int main1()
{
char str1[100] = "hello ";
char str2[]  = "world";

// 把字符出str2的内容 放到字符串str1的末尾
// 注意:str1空间必须足够大,否则就会越界
strcat(str1, str2);

// 只将str2的前两个字符放到str1的后面
strncat(str1, str2, 2);

puts(str1);


return 0;
}


// 字符串的判断
int main2()
{
//char str1[] = "hello ";
//char str1[] = "world";
char str1[] = "workasjdksahdksahd";
char str2[] = "world";

// 用于比较两个字符串的大小
// 如果两个字符串相等,这个值为0
if(strcmp(str1, str2) == 0)
{
printf ("str1 == str2\n");
}
else
{
printf ("str1 != str2\n");
}

if(strncmp(str1, str2, 3) == 0)
{
printf ("str1 == str2\n");
}
else
{
printf ("str1 != str2\n");
}

return 0;
}


// 字符串的拷贝
int main3()
{
char str1[100] = "hello ";
char str2[] = "wor";

// str1 = str2  字符数组不能直接赋值
// 用str2的值替换str1
// 注意:str1要足够大,不然会越界
//strcpy(str1, str2);

// 用str2的前两个字符替换str1
strncpy(str1, str2, 2);
puts(str1);

return 0;
}


int main4()
{
char str[100];
// str = "hello"; 不可以对字符数组直接赋值
    strcpy(str, "hello");
puts(str);
return 0;
}


// 字符串拷贝
int main()
{
char str1[100] = "hello";
char str2[] = "worldkgffijhgkjhgkjh";

// 拷贝实现
char *p1 = str1;
char *p2 = str2;

while (*p2)
{
*(p1++) = *(p2++);
}
*p1 = '\0';

puts(str1);

return 0;
}





猜你喜欢

转载自blog.csdn.net/inconceivableccx/article/details/76798193