C语言常用函数
来源:原创
时间:2018-08-04
作者:脚本小站
分类:其他
内置常用函数
strlen() 统计字符串长度
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello world"; int length = strlen(a); printf("%d\n", length); return 0; }
sizeof() 可统计数组长度
#include <stdio.h> int main(){ char a[100] = "hello world"; int number = sizeof(a)/sizeof(a[0]); printf("%d\n", number); return 0; }
strcat(str1, str2) 连接两字符串,后面的放入前面的
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello123"; char b[100] = "world234"; strcat(a, b); printf("%s\n", a); return 0; }
strncat(str1, str2, number) 连接字符串,number表示连接str2的字符个数
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello123"; char b[100] = "world234"; int len = strlen(a); int number = sizeof(a)/sizeof(a[0]); strncat(a, b, number - len); printf("%s\n", a); return 0; }
strcmp(str1, str2) 比较两个字符串,相等返回0
#include <stdio.h> int main(){ char a[100] = "hello"; char b[100] = "world"; if(strcmp(a, b) == 0){ printf("same string\n"); }else{ printf("diffent string\n"); } return 0; }
strncmp(str1, str2, length) 比较指定长度的字符串是否相等
#include <stdio.h> int main(){ char a[100] = "hello"; char b[100] = "helld"; if(strncmp(a, b, 3) == 0){ printf("same string\n"); }else{ printf("diffent string\n"); } return 0; }
strcpy(str1, str2) 将第二个字符串拷贝到第一个
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello"; char b[100] = "helld"; strcpy(a, b); printf("%s\n", a); return 0; }
strncpy(str1, str2, num) 将第二个字符串拷贝num个到第一个中
#include <stdio.h> #include <string.h> int main(){ char a[10] = "hello"; char b[100] = "helld hello hello hello"; strncpy(a, b, sizeof(a) - 1); printf("%s\n", a); return 0; }
sprintf(a, "%s", b) 将b的内容格式化后放到a中
#include <stdio.h> int main(){ char a[100]; char b[100] = "world"; sprintf(a, "%s", b); printf("%s\n", a); return 0; }
sscanf(a, "%s", &i) 结果放在a里面
#include <stdio.h> int main(){ char a[100] = "67+34="; int i, j; char c; sscanf(a, "%d%c%d=", &i, &c, &j); int res = 0; switch(c){ case '+': res = i + j; break; case '-': res = i - j; break; case '*': res = i * j; break; case '/': res = i / j; break; } sprintf(a, "%d%c%d=%d", i, c, j, res); printf("%s\n", a); return 0; }
strchr(a, 'char') 返回某字符到结尾的所有字符串
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello world"; char *s; s = strchr(a, 'o'); if(s != NULL){ printf("%s\n", s); } return 0; }
strstr(a, "str") 返回某字符串到结尾的所有字符串
#include <stdio.h> #include <string.h> int main(){ char a[100] = "hello world"; char *s; s = strstr(a, "wo"); if(s != NULL){ printf("%s\n", s); } return 0; }
strtok(a, "str") 按字符串分割字符串
#include <stdio.h> #include <string.h> int main(){ char a[200] = "php_is_best_language_in_the_world"; char *s; s = strtok(a, "_");//用双引号 while(s){ printf("%s\n", s); s = strtok(NULL, "_");// 第一次调用第一个参数用写以后的都为NULL } return 0; }
atoi() 将字符串转换为整数
#include <stdio.h> #include <string.h> int main(){ char a[100] = "230"; char b[100] = "323"; int i; int j; i = atoi(a); j = atoi(b); printf("%d\n", i+j); return 0; }
atof() 将字符串转换为浮点类型
#include <stdio.h> #include <stdlib.h> int main(){ char a[100] = "230"; char b[100] = "32.3"; int i; double j; i = atoi(a); j = atof(b); printf("%f\n", i+j); return 0; }
atol() 字符串转换为 long 类型
atoll() 字符串转换为 long long类型
函数的声明与定义
C语言中,定义函数要在使用之前,或者先声明。
#include <stdio.h> int add(int a, int b){ return a + b; } // 声明函数 void output(); int main(){ int i = 1; int j = 3; int c = add(i,j); printf("%d\n", c); output(); } void output(){ printf("hello\n"); }
自定义大小写转换程序:
#include <stdio.h> char trans(char c){ if(c >= 'a' && c <= 'z'){ return c - ' '; } if(c >= 'A' && c <= 'Z'){ return c + ' '; } } int main(){ printf("%c\n", trans('s')); }