1.gets(char *);
读取整行,遇到换行结束,丢弃换行符,然后末尾添加’\0’
读到文件结尾会返回空指针(NULL)
gets()只知道开始,不知道共多少个字符,可能会超出范围,导致缓冲区溢出,
即多余字符超出指定空间大小
2.puts(char *);
将字符数组输出或将字符指针指向的字符串常量输出
输出字符串,并在末尾添加换行,与gets()配对使用,并在末尾自动换行
3.fgets(char *, int n, stdin/FILE *);
读入字符串,遇到换行或读到n-1个字符结束,会将换行存入字符串中
第一个参数即要读入的字符串保存的地方
第二个参数限制读入字符串的长度,最多读入n-1个字符
第三个参数是从键盘输入还是文件输入
fgets()读入成功会返回一个char类型的地址,与传入的第一个参数相同
如果读到文件结尾会返回NULL,读入数据出错也返回NULL;
4.fputs(char *, stdout/FILE *);
一般与fgets()配套使用
第一个参数为要输出的字符串
第二个参数表示向显示器输出还是文件输出
它不会再末尾输出换行
5.char * s_gets(char * st, int n);
char * s_gets(char * st, int n)
{
char *ret_val;
int i = 0;
ret_val = fgets(st, n, stdin);
if (ret_val) // 即,ret_val != NULL
{
while(ret_val[i] != '\n' && ret_val != '\0')
{
i++;
}
if (ret_val[i] == '\n')
{
ret_val[i] = '\0';
}
else
{
while(getchar != '\n')
{
continue;
}
}
}
return ret_val;
}
类似gets()
gets_s()只从标准中读入,不需要第三个参数
gets_s()遇到换行结束,并丢弃换行符
gets_s()读到最大字符都没换行时,首先把目标数组的首字符设置为空字符,读取并丢弃随后的输入
直到换行符或文件结尾,然后返回空指针。接着,调用依赖实现的“处理函数”(或你选择的其他函数)
可能户中止或退出程序
6.scanf("%s", char *);
通过%s输入,然后遇到空白符结束输入
7.printf("%s", char *);
输出字符串
8.strlen(char *)
求字符串长度,遇到’\0’结束,’\0’不计算在内
9.strcat(char *, char *)
连接两个字符串,不会检查第一个字符数组是否能存下第二个字符串
10.strnact(char *, char *, int n)
字符串连接函数改进,第三个参数为最大连接的长度,即第二个字符串的最大长度
11.strcmp(char *, char *);
比较两个字符串是否相等
相等返回0,第一个大于第二个返回正数,否则返回负数
12.strncmp(char *, char *, int n)
比较字符串中的字符,三个参数
第一个发送字符串
第二个要比较的字符串
第三个指定不比较长度
13.strcpy(char *, char *);
不能检查前一个是否能容纳后一个
将第二个字符串拷贝到第一个参数指向的空间中
它有返回值,char *类型,返回的第一个参数的值,即一个字符的地址
14.strncpy(char *, char *, int n)
多一个参数
表示最多可以拷贝多少字符数,不会出现字符数组越界
15.sprintf(char *)函数 在stdio.h中
第一个参数为目标字符串地址,其余与printf()相同
char *formal[50];
sprintf(formal, “%s, %-19s: $%6.2f\n”, mf, ccc, 10000);
将后面的内容以固定格式,拷贝到formal字符数组中
16.long strtol (const char* nptr, char** endptr, int base);
将字符串转换为长整形并返回
17.double strtod (const char* nptr, char** endptr);
将字符串转换为浮点型
18.int atoi(const char *str );
将字符串转换成整形兵返回
19.char *strchr(const char *s, int c);
若字符串包含c字符,则返回指向s字符串中首次出现c字符的指针,否则返回空指针
20.char *strpbrk(const char *s1, const char *s2);
若s1包含s2任意字符,则返回指向s1首地址的指针,若s1中未找到任何s2字符串中的字符,返回空指针
21.char *strrchr(const char *s, int c);
若字符串包含c字符,则返回指向s字符串中最后出现c字符的指针,否则返回空指针
22.char *strstr(const char *s1, const char *s2);
查找s1是否出现了字符串s2,若出现返回首次出现的地址,否则返回控制镇