C语言常用函数
来源:互联网 发布:淘宝照片木刻画 编辑:程序博客网 时间:2024/06/06 08:28
sprintf(),sscanf(),memset(),memcpy(),isalpha(),isdigit(),isprint(),,toupper(),tolower(),fgets(),atoi(),strchr()
ceil(),floor()
一、sprintf():把格式化的数据写入某个字符串缓冲区
返回值:返回写入buffer 的字符数,出错则返回-1. 如果 buffer 或 format 是空指针,且不出错而继续,函数将返回-1
例:int len=sprintf(s,"%d",x);返回的是字符串s的长度。注意:数组s的类型必须是char!
sprintf(s, "%d", 123); //把整数123 打印成一个字符串保存在s 中,产生"123"
char buf[60]={0};
char*who="I";
char*whom="CSDN";
sprintf(buf,"%slove%s.",who,whom);
printf("%s",buf);
输出结果:"IloveCSDN."
输出结果 :
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
二、sscanf:读取格式化的字符串中的数据。
char buf[512];//注意数组的类型
sscanf("123456 ", "%s", buf);
printf("%s\n", buf);
结果为:123456
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
结果为:1234
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格)
sscanf(“hello, world”, "%*s%s", buf);
printf("%s\n", buf);
结果为:world
P.S. %*s表示第一个匹配到的%s被过滤掉,即hello被过滤了,
如果没有空格则结果为NULL。
%[a-z] 表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB'] 匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,并且停止读入,贪婪性
三、memcpy()函数:从数组a中复制k个元素到数组b中
例:
int a[1000],b[1000];
memcpy(b,a,sizeof(int)*k);
把数组a中全部元素复制到数组b中
int a[1000],b[1000];
memcpy(b,a,sizeof(a));
四、memset()函数:对数组进行清零操作
例:char a[1000];
五、fgets():函数:一次性读取一整行,遇到换行结束。
例:char a[1000],b[1000];
fgets(a,sizeof(b),stdin);
六、isalpha(a):判断a是否为字母,是返回非零。
isdigit(a):判断a是否为阿拉伯数字,是返回非零。
isprint(a):判断a是否可打印,是返回非零。
char a;
toupper(a):将数组a中的字母转换成大写形式
strupr(a):将数组a中的字母转换成大写形式
tolower(a):将数组a中的字母转换成小写形式
ceil(),floor()
一、sprintf():把格式化的数据写入某个字符串缓冲区
返回值:返回写入buffer 的字符数,出错则返回-1. 如果 buffer 或 format 是空指针,且不出错而继续,函数将返回-1
例:int len=sprintf(s,"%d",x);返回的是字符串s的长度。注意:数组s的类型必须是char!
sprintf(s, "%d", 123); //把整数123 打印成一个字符串保存在s 中,产生"123"
char buf[60]={0};
char*who="I";
char*whom="CSDN";
sprintf(buf,"%slove%s.",who,whom);
printf("%s",buf);
输出结果:"IloveCSDN."
sprintf(s,"%-*d",4,'A');//产生"65"sprintf(s,"%#0*X",8,128);//产生"0X000080","#"产生0Xsprintf(s,"%*.*f",10,2,3.1415926);//产生"3.14"#include <stdio.h>int main( void ){ char buffer[200], s[] = "computer", c = 'l'; int i = 35, j; float fp = 1.7320534f; // 格式化并打印各种数据到buffer j = sprintf( buffer, " String: %s\n", s ); // C4996 j += sprintf( buffer + j, " Character: %c\n", c ); // C4996 j += sprintf( buffer + j, " Integer: %d\n", i ); // C4996 j += sprintf( buffer + j, " Real: %f\n", fp );// C4996 printf( "Output:\n%s\ncharacter count = %d\n", buffer, j );}
输出结果 :
Output:
String: computer
Character: l
Integer: 35
Real: 1.732053
character count = 79
二、sscanf:读取格式化的字符串中的数据。
char buf[512];//注意数组的类型
sscanf("123456 ", "%s", buf);
printf("%s\n", buf);
结果为:123456
sscanf("123456 ", "%4s", buf);
printf("%s\n", buf);
结果为:1234
sscanf("123456 abcdedf", "%[^ ]", buf);
printf("%s\n", buf);
结果为:123456
sscanf("123456abcdedfBCDEF", "%[1-9a-z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
sscanf("123456abcdedfBCDEF", "%[^A-Z]", buf);
printf("%s\n", buf);
结果为:123456abcdedf
给定一个字符串"hello, world",仅保留"world"。(注意:“,”之后有一空格)
sscanf(“hello, world”, "%*s%s", buf);
printf("%s\n", buf);
结果为:world
P.S. %*s表示第一个匹配到的%s被过滤掉,即hello被过滤了,
如果没有空格则结果为NULL。
%[a-z] 表示匹配a到z中任意字符,贪婪性(尽可能多的匹配)
%[aB'] 匹配a、B、'中一员,贪婪性
%[^a] 匹配非a的任意字符,并且停止读入,贪婪性
三、memcpy()函数:从数组a中复制k个元素到数组b中
例:
int a[1000],b[1000];
memcpy(b,a,sizeof(int)*k);
把数组a中全部元素复制到数组b中
int a[1000],b[1000];
memcpy(b,a,sizeof(a));
四、memset()函数:对数组进行清零操作
例:char a[1000];
memset(a,0,sizeof(a));
五、fgets():函数:一次性读取一整行,遇到换行结束。
例:char a[1000],b[1000];
fgets(a,sizeof(b),stdin);
六、isalpha(a):判断a是否为字母,是返回非零。
isdigit(a):判断a是否为阿拉伯数字,是返回非零。
isprint(a):判断a是否可打印,是返回非零。
char a;
toupper(a):将数组a中的字母转换成大写形式
strupr(a):将数组a中的字母转换成大写形式
tolower(a):将数组a中的字母转换成小写形式
strlwr(a):将数组a中的字母转换成小写形式
七、atoi()函数:在stdlib.h头文件中把字符串转换成整型数的一个函数。貌似只能对字符串里的数字进行转换,若字符串中是字母则返回0
例:char s[]="123.123";//注意数组类型
scanf("%s",s);
printf("%d\n",atoi(s));//输出123,四舍五入
char
a[] =
"-100"
;
char
b[] =
"123"
;
int
c;
c =
atoi
(a) +
atoi
(b);
printf
(
"c=%d\n"
, c);//输出23
八:strchr()函数:可以查找字符串s中首次出现字符c的位置。
例:
#include <string.h>#include <stdio.h>int main(void){ char string[17]; char *ptr,c='r'; strcpy(string,"Thisisastring"); ptr=strchr(string,c); if(ptr) printf("The character %cis at position:%s\n",c,ptr); else printf("The character was not found\n"); return 0;}
运行结果:The character r is at position: ring
ceil():进一法,floor():去尾法
#include<stdio.h>#include<math.h>int main(){ double number=123.45; double down,up; down=floor(number); up=ceil(number); printf("%5.2lf\n",number); printf("%5.2lf\n",down); printf("%5.2lf\n",up); return 0;}
阅读全文
0 0
- C语言常用函数
- C语言常用函数
- C语言常用函数
- c 语言 常用函数
- C语言 常用函数
- C语言常用函数
- [C语言]常用C语言数学函数
- C语言常用内置函数
- 几个常用C语言函数
- C语言 字符串常用函数
- C语言常用字符串函数
- c语言常用数学函数
- c语言 常用字符串函数
- C语言常用函数简介
- c语言常用功能函数
- c语言常用数学函数
- c语言、c++常用函数
- C语言mysql常用函数
- 稀疏学习综述
- python语法备忘
- 详细喷喷数组和指针
- 安卓6.0权限
- shared_ptr
- C语言常用函数
- 【工具】去除字符串中的特殊字符
- 欢迎使用CSDN-markdown编辑器
- 第一讲:CentOS 7 编译安装httpd-2.4
- hbase 介绍
- MVC架构在Asp.net中的应用和实现
- ViewPage实现类似Gallery效果以及2个ViewPage联动
- Python IDLE 自动提示功能
- BZOJ 1190 梦幻岛宝珠 [01背包][二进制优化]