您的位置:首页 > 编程语言

UNIX编程环境(The UNIX Programming Environment) 备忘录(六)

2010-11-07 14:31 369 查看
第六章 使用标准I/O编程

<ctype.h> 字符测试宏

isalpha(c) 字母 a-z A-Z
issupper(c) 大写 A-Z
islower(c) 小写 a-z
isdigit(c) 数字 0-9
isxdigit(c) 十六进制数字 0-9 a-f A-F
isalnum(c) 字母或数字
isspace(c) 空格,Tab,换行,垂直Tab,换页,回车
ispunct(c) 除去字母,控制字符,空白之外的.(punct标点符号)
isprint(c) 可打印字符:任何图形字符
iscntrl(c) 控制字符: 0 <= c < 040 || c == 0177
isascii(c) ASCII字符: 0 <= c <= 0177

在FreeBSD下位置:/usr/include/ctype.h
==========================================
关于C中接受不定参数的问题

示例:
从命令行中接受多个参数
int main(int argc, char *argv[])
这样,argc为命令行中被空白字符分隔的块数,argv[0]为命令名,
argv[1]为第一个参数,argv[argc - 1]为最后一个参数

注意:
argv是一个指向字符数组(字符串)的指针,不要把它想成是指向
字符的指针,即不要理解成char argv[]

==========================================
标准字符串函数

strcat(s,t) 把t接在s后面,返回s
strncat(s,t,n) 把t的前n个字符接在s后面,返回s
strcpy(s,t) 将t拷贝到s中,返回s
strncpy(s,t,n) 将t的前n个字符拷贝到s中,返回s
strcmp(s,t) 比较s和t,分别返回对应的<0,0,>0
strncmp(s,t,n) 至多比较n个字符
strlen(s) 字符串长度
strchr(s,c) 返回字符串中第一个指向字符c的指针,否则返回NULL
strrchr(s,c) 返回最后一个,否则返回NULL
atoi(s) 返回s的整数值
atof(s) 返回s的浮点值;需声明double atof()
malloc(n) 返回一个指向n字节内存的指针,分配失败返回NULL
calloc(n,m) 返回一个指向n*m字节内存的指针,并设置为0,分配失败返回NULL
free(p) 释放由malloc和calloc分配的内存

==========================================
一些<stdio.h>中的定义

stdio 标准输入
stdout 标准输出
stderr 标准错误输出
EOF 文件结束,一般是-1
NULL 空指针
FILE 用于定义文件指针
BUFSIZ 正常的I/O缓冲区大小(一般是512或1024)
getc(fp) 从流fp中返回一个字符
getchar() getc(stdin)
putc(c,fp) 向流fp输出一个字符
putchar(c) putc(c,stdout)
feof 当文件结束时得到一个不为0的数
ferror 当文件出错时得到一个不为0的数
fileno 流fp的文件描述符

==========================================
常用的标准I/O函数

fp=fopen(s,模式)
c=getc(fp)
putc(c,fp)
ungetc(c,fp) 将字符放回fp中,一次只能放回一个
scanf(格式,...)
fscanf(fp,...) 从文件读入
sscanf(s,...) 从字符串读入
printf(格式,...)
fprintf(fp,...)
sprintf(s,...)
fgets(s,n,fp) 从文件fp中读入n个字符到s中,在文件末尾返回NULL
fputs(s,fp) 将s输出到fp中
fflush(fp) 将缓冲区的数据写到fp中
fclose(fp)
fp=popen(s,模式) 为命令s打开一个管道
pclose(fp) 关闭管道fp
system(s) 运行命令s,等待其结束
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐