设为首页 加入收藏

TOP

C字符串相关知识总结(二)
2017-04-21 10:23:17 】 浏览:386
Tags:字符串 相关 知识 总结
("**********************************************************\n");
    char names2[] = "s我";
    printf("names2 的长度为 : %d\n" , strlen(names2));
    return 0;
}


一个‘s’(英文) + 一个‘我’中文长度为3 , 结果如下:



3,strcpy原型:strcpy(a,b)->将b复制到a(注意:a的空间要比b的大 , 否则b的内容至于一部分复制到a中)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    system("color 1A");
    char names1[] = {'A','o','n','a','u','f','l','y','\0'};
    char names2[] = "sk";
    strcpy(names1,names2);
    printf("names1 value : %s\n" , names1);
    for(int i = 0 , j = sizeof(names1)/sizeof(char) ; i < j ; i ++)
    {
        printf("%c\n",*(names1+i));
    }
    return 0;
}


运行结果如下:



4,strcmp 字符串比较 strcmp( a , b ) a>b返回正数 ; a == b 返回 0 ; a < b 返回负数。注:按ASCII进行比较
5,strcat 字符串链接 strcat( a , b) 将b复制到a的后面 , a的长度一定要大
6,gets 可以或造成越界 (如定义了长度为20 , 结果输入为21 ) gets(char *) 。代码如下:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
    system("color 1A");
    char names1[2];
    gets(names1);
    printf("names1 值 : %s\n" , names1);
    printf("names1 长度 : %d\n" , strlen(names1));
    for( int i = 0 , j = strlen(names1) ; i < j ; i++)
    {
        printf("names1 第%d个值为%c\n" , i + 1 , *(names1+i));
    }
    return 0;
}


运行结果如下:

7,puts 专门打印字符串 puts(char *) .它会自动在后面加一个\n
8 , fgets  fgets(char * , len , stdin) 最多接收len-1个字符 。遗憾的是已\n结束,而不是以\0结束 。 比gets要安全。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C malloc和calloc函数总结 下一篇教你如何用C++创建一个特殊的类

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目