本弱记性太差,想了想还是总结一些有用的防遗忘。
字符串输入
① scanf("%s", str)
cin >> str
当字符串中有空格、TAB时凉凉
② gets(char *str) <stdio.h> (存在缓冲区溢出漏洞,C11中该函数已被删除
getline(cin, string str) <string>
fgets(buf, maxn, fin) 读取完整的一行 buf[maxn] (文件输入
整行输入
③ getchar() 读入单个字符
<math.h>
floor(x) 返回不超过x的最大整数 *四舍五入floor(x+0.5) (浮点误差
<string.h>
memcpy(b,a,sizeof(int)*k) 从数组a复制k个元素到数组b memcpy(b,a,sizeof(double)*k) memcpy(b,a,sizeof(a))
memset(a,0,sizeof(a))
sprintf(buf, "%d%d%d", a, b, c) ①把整数打印到字符串中
②连接字符串(变参函数,使用需谨慎?)
strchr(s, buf[i]) 从字符串s中查找字符buf[i]第一次出现的位置,返回值为指针,若没找到返回NULL
strcpy(a, b) 赋值
strcmp(a, b) 比较
strcat(a, b) 连接
<ctype.h>
isalpha(ch) 判断字符是否为字母
isdigit isprint toupper tolower