《C语言字符串函数》 总结: 1.字符处理库(ctype)中的函数 2.stdio中的字符串和字符输入/输出的函数 3.通用实用库stdlib中的字符串转换函数 4.字符串处理库string中的字符串处理函数 C语言的字符串实际上是存储单个字符的数组,结尾包含一个结束该字符串的特别的字符("空字符",用'\0'表示)。 char string1[]="first"实际上有6个元素。 char color="blue" char * p="blue" 注意p不能修改,若需修改应用字符数组。 一、.字符处理库(ctype)中的函数
#include<ctype.h>
函数原型:int f(int c)
i sdigit, isalpha, isalnum, isxdigit, islower, isupper, tolower, toupper,
isspace,空白字符:新行符\n, 空格,回车''\r",水平制表符"\t", 垂直制表符"\v"
isctrl, ispunct, isprint, isalpha
二、stdio中的字符串和字符输入/输出的函数
int getchar(void) 从标准输入设备读取字符以整数返回
char * get(char * s) 从标准输入设备读入字符到数组s直到遇到新行符和文件结束符为止,然后再数组后追加NULL字符
int putchar(int c) 打印字符
int puts(const char * s) 打印字符串s和新行符
int sprintf(char * s, const char * format) 与printf区别在于输出结果存放在s中
int sscanf(char * s, const char * format); 与scanf区别在于从数组s读取数据
示例1 字符串反转
#include <stdio.h> void reverse(char *s) { if(s[0] == '\0') return; else { reverse(&s[1]); putchar(s[0]); } } int main() { char s[100]; gets(s); reverse(s); return 0; } 输入:sf 输出:fs
示例2 sscanf和sprintf
#include<stdio.h> int main() { int x=1; double y=2.1; char s[100]; sprintf(s,"Hello!%d, %f", x, y); puts(s); sscanf(s,"%d%f",&x,&y); printf("x:%d, y:%f", x, y); return 0; } 输出: Hello!1, 2.100000 x:1, y:2.100000
|