全部博文(930)
分类: C/C++
2008-11-16 15:47:41
六、strtok
名称: |
strtok |
功能: |
字符串分割函数 |
头文件: |
#include |
函数原形: |
char *strtok(char *s,const char *delim) |
参数: |
s 欲分割的字符串 delim 分割字符串 |
返回值: |
返回下一个分割后的字符串指针,如果已无从分割则返回NULL |
Strtok可将字符串分割,当strtok在参数s的字符串中发现到参数delim的分割字符时则会将该字符改为\0字符。
在第一次调用时,strtok必须给予参数s字符串,往后的调用则将参数s设置为NULL.
下面是程序例子:
#include
main() { char s[ ]="ab-cd:de;gh:mnpe;ger-tu"; char *delim="-:"; char *p; printf("%s\n",strtok(s,delim)); p=strtok(NULL,delim); while((p=strtok(NULL,delim))) Printf("%s\n",p); } |
输出结果为:
ab
cd
ee;gh
mnpe;ger
tu
一、sprintf
名称: |
sprintf |
功能: |
格式化字符串复制函数 |
头文件: |
#include |
函数原形: |
int sprintf(char *s,const char *format,.....); |
参数: |
s 目的字符串数组 format 原字符字符串 |
返回值: |
成功返回参数str字符串的长度,失败返回-1 |
sprintf会把参数format字符串转换为格式化数据,然后将结果复制到参数str所指的字符数组,直到出现字符串结束符\0为止.
下面是程序例子:
#include #include
main() { struct tm *t; time_t timep; char buff[50]; time(&timep); t=localtime(&timep); sprintf(buff,"%d:%d:%d",t->tm_hour,t->tm_min,t->tm_sec); printf("%s\n",buff); } |
运行结果:
12:33:21
二、atoi
名称: |
atoi |
功能: |
将字符串转换成整型数 |
头文件: |
#include |
函数原形: |
int atoi(const char *nptr); |
参数: |
nptr 字符串 |
返回值: |
返回转换后的整形数 |
atoi会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束符\0时结束转换,并将结束返回.
三、atof
名称: |
atof |
功能: |
将字符串转换成浮点型数 |
头文件: |
#include |
函数原形: |
double atoi(const char *nptr); |
参数: |
nptr 字符串 |
返回值: |
返回转换后的符点型数 |
atof会扫描参数nptr字符串,跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束符\0时结束转换,并将结果返回.
#include
main() { char *a="100.23"; char *b="200"; float c; int d;
c=atof(a); d=atoi(b); printf("c=%.2f\n",c); printf("d=%d\n",d); } |
运行结果:
c=-100.23
d=200