zoukankan      html  css  js  c++  java
  • 54解析字符串

    我们平常电脑上,最多的就是图片和字符串以及音频和视频文件。
    所以,如何处理这4种类型的数据,是我们学习很重要的目的。

    字符串<图片<音频<视频

    char l_v1[100]= "你1好2吃饭了吗abc"; strlen函数可以计算出在内存里面占了多少个字节。

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[5] = { 0 };
    /
    fgets(l_v1,sizeof(l_v1),stdin);
    printf("%d",sizeof(l_v1 ));//l_v1长度
    printf("%d",strlen(l_v1));//输入实际长度
    //string length的缩写;
    system("pause");
    }

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int 取字符串长度(char *p_字符串地址){
    int l_长度=0;
    while(*p_字符串地址!=0){
    l_长度=0;
    l_长度+=1;
    p_字符串地址++;}
    return l_长度;
    }
    void main() {
    char l_v1[5]={0};

    printf("%d",取字符串长度(l_v1));
    //string length的缩写;
    system("pause");
    }

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    int 求汉字长度(char *p_字符串长度) {
    int 计算长度 = 0;
    for (size_t i = 0; i < strlen(p_字符串长度); i++) {
    if (p_字符串长度[i] < 0) {
    计算长度 += 1;
    }
    }
    计算长度 /= 2;
    return 计算长度;
    }
    void main() {
    char l_v1[100] = "1234你好吗asd";//先判断内存字符串数字规律(ascll ,gbk, db1231,编码大小求)
    printf("%d ", 求汉字长度(l_v1));
    system("pause");
    }




    strcat(l_v1,l_v2);  把l_v1和l_v2合并,结果放到l_v1

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[ 50 ] = "你好";
    char l_v2[50] = "吃饭了吗";
    strcat(l_v1, l_v2);//等于strncat(l_v1, l_v2,strlen(l_v2))
    printf("%s ", l_v1);
    system("pause");
    }//把l_v2放到l_v1要注意l_v1在栈空间


    strncat(l_v1,l_v2,5);  把l_v1和指定的l_v2的文本截取合并,结果放到l_v1

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[ 50 ] = "你好";
    char l_v2[50] = "吃饭了吗";
    strcat(l_v1, l_v2,2);//把l_v2头两个字节放到来l_v1里
    printf("%s ", l_v1);
    system("pause");
    }//把l_v2放到l_v1要注意l_v1在栈空间


    注意事项:缓存区长度.


    strncmp(l_v1,l_v2,5)把l_v1字符串和l_v2字符串的前5个字节进行比较.

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


    void main() {
    char l_v1[] = "你好";
    char l_v2[] = "你好";
    int result=strcpm(l_v1, l_v2);
    if (result == 0) {
    printf("相同 ");
    }
    else {
    printf("不同 ");
    }
    system("pause");
    }

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[ 50 ] = "你好";
    char l_v2[50] = "吃饭了吗";
    strncmp(l_v1, l_v2, 2);//把L_v2里面前两个字节与l_v1比较,大小是否相同
    printf("%d ", strncmp(l_v1, l_v2, 2));
    system("pause")



    strcpy(l_v1,l_v2)  把l_v2字符串复制一份到l_v1中.

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[50] = "你好";
    char l_v2[50] = "吃饭了吗123";
    strcpy(l_v1, l_v2);
    printf("%s ", l_v1);
    system("pause");
    }//把l_v2复制到l_v1要注意l_v1在栈空间


    strncpy(l_v1,l_v2,5)  把l_v2字符串前5个字节复制一份到l_v1中.

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[50] = "你好";
    char l_v2[50] = "吃饭了吗123";
    strcpy(l_v1, l_v2,2);//把l_v2前两个字节复制到l_v1
    printf("%s ", l_v1);
    system("pause");
    }//把l_v2复制到l_v1要注意l_v1在栈空间


    sprintf和printf的区别.
    sprintf和printf类型,唯一的区别是增加了一个参数,第一个参数是一个char数组
    一个把结果显示到屏幕上,一个把结果输入到另一个字符串数组中.

    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    void main() {
    char l_v1[50] = "你好";
    char l_v2[50] = { 0 };
    printf("%s ", l_v1);
    sprintf(l_v2, "%d+%d=%d", 1,2 ,1+2);
    printf("%s ", l_v2);
    system("pause");
    }

  • 相关阅读:
    maven settings
    java.util.Base64
    Centos 7 下 LAMP 部署
    Cisco N3K VPC+HSRP+ospf 配置
    centos 7 下多网卡绑定+ vlan 网卡配置
    centos 7 下 cobbler 安装
    hive0.12 rcfile gzip 测试
    Hive内部表外部表转化分析(装)
    hadoop2.2.0 + hbase 0.94 + hive 0.12 配置记录
    hbase 问题记录
  • 原文地址:https://www.cnblogs.com/xiaodaxiaonao/p/7818643.html
Copyright © 2011-2022 走看看