zoukankan      html  css  js  c++  java
  • C语言讲义——字符串库函数

    字符串库函数<string.h>

    求字符串长度(不含结束符’’****) strlen(str)
    字符串赋值(可能造成数组越界) strcpy(str," 水浒传 ");
    字符串追加(可能造成数组越界) strcat(str," 三国演义 ")
    字符串比较(小于:-1/等于:0/大于:1****) strcmp("AAA", "BBB");

    strlen:自动无视结束符

    #include <stdio.h>
    #include <string.h>
    
    int main(int argc, char *argv[]) {
    	char str1[] = "Trump";
    	printf("sizeof %d
    ", sizeof(str1));
    	printf("strlen %d
    ", strlen(str1));
    	printf("*******************
    ");
    	char str2[] = "川普";
    	printf("sizeof %d
    ", sizeof(str2));
    	printf("strlen %d
    ", strlen(str2));
    	return 0;
    }
    

    strcpy赋值/复制

    #include <stdio.h>
    #include <string.h>
    int main(int argc, char *argv[]) {
    	// 眼见喜、耳听怒、鼻嗅爱、舌尝思、意见欲、身本忧"
    	char str1[]="眼见喜";
    	printf("%d
    ", sizeof(str1));
    	printf("%s
    ", str1);
    
    	printf("**strcpy*******************************
    ");
    	strcpy(str1,"耳听怒");
    	printf("%d
    ", sizeof(str1));
    	printf("%s
    ", str1);
    
    	printf("**strcpy不检测大小是否匹配*******************************
    ");
    	int n1 = 1000;
    	printf("新变量:%d
    ", n1);
    	strcpy(str1,"鼻嗅爱、舌尝思");
    	printf("%d
    ", sizeof(str1));
    	printf("%s
    ", str1);
    	printf("新变量:%d
    ", n1); // n1被破坏了
    
    	return 0;
    }
    

    注意:strcpy不检测大小是否匹配

    char str1[]="眼见喜";
    int n1 = 1000;
    strcpy(str1,"鼻嗅爱、舌尝思");
    

    strcat(Concatenate·连接)

    注意:strcat也不检测大小是否匹配

    #include <stdio.h>
    #include <string.h>
    int main(int argc, char *argv[]) {
    	char str1[]="眼见喜";
    	printf("sizeof %d
    ", sizeof(str1));
    	printf("strlen %d
    ", strlen(str1));
    	printf("%s
    ", str1);
    
    	printf("**strcat不检测大小是否匹配*******************************
    ");
    	int n1 = 1000;
    	printf("新变量:%d
    ", n1);
    
    	strcat(str1, "、耳听怒");
    
    	printf("新变量:%d
    ", n1);// 被破坏
    	printf("sizeof %d
    ", sizeof(str1));
    	printf("strlen %d
    ", strlen(str1));
    	printf("%s
    ", str1);
    
    	return 0;
    }
    

    strcmp判等

    str1str1:1
    str2
    str3:0
    小于:-1
    大于:1
    等于:0

    #include <stdio.h>
    #include <string.h>
    int main(int argc, char *argv[]) {
    	char str1[200]="a";
    	char str2[200]="b";
    	char str3[200]="b";
    	// 使用==判断是错误的
    	printf("str1==str1:%d
    ", str1==str1);
    	printf("str2==str3:%d
    ", str2==str3);// 判断错误
    
    	int nCmp;
    
    	nCmp = strcmp("a", "b");
    	printf("小于:%d
    ", nCmp);
    
    	nCmp = strcmp("b", "a");
    	printf("大于:%d
    ", nCmp);
    
    	nCmp = strcmp(str2, str3);
    	printf("等于:%d
    ", nCmp);
    
    	return 0;
    }
    

    字符串转数字

    需要#include <stdlib.h>

    转整形 int n = atoi(str);
    转浮点型(double****) double d = atof(str);
  • 相关阅读:
    Eclipse配置SVN的几种方法及使用详情
    python爬虫实战:基础爬虫(使用BeautifulSoup4等)
    MySQL中case when的基本用法总结
    SQL常见的一些面试题(太有用啦)
    Python应用——自定义排序全套方案
    Hadoop运维
    图形化查看maven的dependency依赖
    mac os x 10.10.3 安装protoc
    创业方向:O2O及移动社交 from 沈博阳
    手动编译安装docker环境,以及偶尔出现的bug
  • 原文地址:https://www.cnblogs.com/tigerlion/p/11191657.html
Copyright © 2011-2022 走看看