黑马程序员技术交流社区
标题: c语言字符串函数 (笔记3) [打印本页]
作者: 黑马公公007 时间: 2015-10-13 15:27
标题: c语言字符串函数 (笔记3)
《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
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) |
黑马程序员IT技术论坛 X3.2 |